What to do if i have 806 CC using DSNMTV01 - db2

I try to read some data from IMS DB and write it into db2 table using DSNMTV01.
But I have 806 CC ( REQUESTED MODULE DSNMTV01 NOT FOUND ).
//USER19 JOB NOTIFY=&SYSUID,MSGCLASS=A,MSGLEVEL=(1,1),REGION=360M
//DLIBATCH PROC MBR=TEMPNAME,PSB=,BUF=7,
// SPIE=0,TEST=0,EXCPVR=0,RST=0,PRLD=,
// SRCH=0,CKPTID=,MON=N,LOGA=0,FMTO=T,
// IMSID=,SWAP=,DBRC=,IRLM=,IRLMNM=,
// BKO=N,IOB=,SSM=,APARM=,
// RGN=1024K,
//* SOUT=A,LOGT=2400,SYS2=,
// SOUT=A,SYS2=,
// LOCKMAX=,GSGNAME=,TMINAME=
//S0 EXEC PGM=IEFBR14
//IEFRDER DD DSN=DFSD10.IMSLOG,DISP=(OLD,DELETE),VOL=SER=H1SYS1,
// UNIT=SYSDA
//*----------------------------------------------------------
//G EXEC PGM=DFSRRC00,REGION=&RGN,
// PARM=(DLI,&MBR,&PSB,&BUF,
// &SPIE&TEST&EXCPVR&RST,&PRLD,
// &SRCH,&CKPTID,&MON,&LOGA,&FMTO,
// &IMSID,&SWAP,&DBRC,&IRLM,&IRLMNM,
// &BKO,&IOB,&SSM,'&APARM',
// &LOCKMAX,&GSGNAME,&TMINAME)
//STEPLIB DD DSN=DFSD10.&SYS2.SDFSRESL,DISP=SHR
// DD DSN=DFSD10.&SYS2.PGMLIB,DISP=SHR
// DD DSN=USER19.LOAD,DISP=SHR
//DFSRESLB DD DSN=DFSD10.&SYS2.SDFSRESL,DISP=SHR
//IMS DD DSN=DFSD10.PSBLIB,DISP=SHR
// DD DSN=DFSD10.DBDLIB,DISP=SHR
//PROCLIB DD DSN=DFSD10.&SYS2.PROCLIB,DISP=SHR
//IEFRDER DD DSN=DFSD10.IMSLOG,DISP=(NEW,KEEP),VOL=SER=H1SYS1,
// DCB=(RECFM=VB,BLKSIZE=1920,
// LRECL=1916,BUFNO=2),SPACE=(TRK,(1,1)),UNIT=SYSDA
//SYSUDUMP DD SYSOUT=&SOUT,
// DCB=(RECFM=FBA,LRECL=121,BLKSIZE=1024),
// SPACE=(605,(500,500),RLSE,,ROUND)
//IMSMON DD DUMMY
// PEND
//STEP1 EXEC DLIBATCH,MBR=DSNMTV01,PSB=DFSIVP11,
// DBRC=N,BKO=Y
//G.SYSPRINT DD SYSOUT=*
//G.DFSVSAMP DD *
VSRBF=16384,80
/*
//*
//G.DFSIVD1 DD DSN=DFSD10.DFSIVD1,DISP=SHR
//G.DFSIVD1I DD DSN=DFSD10.DFSIVD1I,DISP=SHR
//*
//G.DDOTV02 DD SYSOUT=*,RECFM=V,LRECL=4092
//G.DDITV02 DD *
DBBG,SYS1,DSNMIN10,,A,-,,USR19PL,READIMS
/*
//* THIS IS THE FOR LOAD OR UPDAT DATA
//
**************************** Bottom of Data *****
Have anybody some ideas whats wrong?
I try to srchfor DSNMTV in dfsd10,and I can find it in dfsd10.sdsfresl.. So, why i have 806 CC

Related

in flutter dart convert 1624275605667 into Mon Jun 21 2021 17:10:05 GMT+05:30

var date = 1624275605667;
final DateTime formatted = DateTime(date);
final DateFormat fr = DateFormat('EEE MMM d yyyy HH:mm:ss');
final String dd = fr.format(formatted);
I try like this but getting some type of errors.
I want to convert 1624275605667 into this format Mon Jun 21 2021 17:10:05 GMT+05:30
For this which format I use here
DateFormat('EEE MMM d yyyy HH:mm:ss zzz')
Please try this one
var date = 1624275605667;
final DateTime formatted = DateTime.fromMillisecondsSinceEpoch(date);
final DateFormat fr = DateFormat('EEE MMM dd yyyy HH:mm:ss');
final String dd = fr.format(formatted);
print(dd);
You are using z pattern and it's not implemented yet. Issue is still open since 2015 https://github.com/dart-lang/intl/issues/19
And in intl package already mentioned that this characters are reserved and currently are unimplemented.
For workaround you can use
formatted.timeZoneOffset.toString(); /// 5:30:00.000000
Which is same as GMT+05:30

STM32F103C8T6 can not communicate with HD44780

I'm trying to control a HD44780 16X2 LCD(4 bit
communication) using a STM32F103C8T6.
I connected the LCD this way:
RS => PA0
EN => PA2
RW Ground
D7 => PB7
D6 => PB6
D5 => PB5
D4 => PB4
The LCD doesn't display anything. Where might the problem be? Does anyone know something about this issue?
Here is my code:
#include "delay.h"
#include "stm32f10x.h" // Device header
void lcd_command(unsigned char command);
void lcd_init(void);
void lcdPosition(unsigned int row, unsigned int column);
void lcd_data(unsigned char data);
int main() {
delay_init();
RCC->APB2ENR |= 1 << 2; // Port A Enabled.
RCC->APB2ENR |= 1 << 3; // Port B Enabled.
GPIOA->CRL = 0x22222222; // A0 and A2 Output.
GPIOB->CRL = 0x22222222; // B7,B6,B5,B4 Output.
GPIOB->ODR = 0x00; // Port B clear.
delay_ms(20);
lcd_command(0x30); // Datasheet says.
delay_ms(5);
lcd_command(0x30); // Datasheet says.
delay_ms(1);
lcd_command(0x30); // Datasheet says.
delay_ms(1);
lcd_init();
lcdPosition(1, 1); // first row first column
delay_ms(1);
lcd_data('A'); // Letter A
while (1)
;
}
void lcd_command(unsigned char command) {
GPIOA->BRR |= 1 << 0; // RS reset.
GPIOA->BSRR |= 1 << 2; // E set.
GPIOB->ODR = command; // upper nibble
delay_ms(2); // delay
GPIOA->BRR |= 1 << 2; // E reset.
GPIOB->BRR = 0x000000F0; // clear data bits
delay_ms(2); // delay
command = command << 4; // lower nibble
GPIOA->BSRR |= 1 << 2; // E set.
GPIOB->ODR = command; // lower nibble
delay_ms(2); // delay
GPIOA->BRR |= 1 << 2; // E reset.
GPIOB->BRR = 0x000000FF; // clear data bits
}
void lcd_init() {
lcd_command(0x02); // Return
delay_ms(2); // delay
lcd_command(0x28);
set 4 - bit data, 2 - line, 5x7 font delay_ms(2); // delay
lcd_command(0x0C);
turn on display, cursor off.delay_ms(2); // delay
lcd_command(0x01); // Clear.
delay_ms(2); // delay
lcd_command(0x06);
move cursor right delay_ms(4); // delay
}
void lcdPosition(unsigned int row, unsigned int column) {
if (row == 1) {
column--;
lcd_command(0x80 + column); // Define row
} else if (row == 2) {
column--;
lcd_command(0xC0 + column); // Define column
}
}
void lcd_data(unsigned char data) {
GPIOA->BSRR |= 1 << 0; // RS reset.
GPIOA->BSRR |= 1 << 2; // E set.
GPIOB->ODR = data;
upper nibble first delay_ms(4); // delay
GPIOA->BRR |= 1 << 2; // E reset.
GPIOB->BRR = 0x000000F0; // clear data bits
delay_ms(4); // delay
data = data << 4; // lower nibble
GPIOA->BSRR |= 1 << 2; // E set.
GPIOB->ODR = data; // lower nibble
delay_ms(4); // delay
GPIOA->BRR |= 1 << 2; // E reset.
GPIOB->BRR = 0x000000FF; // clear data bits
}
Also PA0 and PA2 are not 5V tolerant pins, usually HD44780 is 5V device, if it runs on +5V refer to the datasheet in Table 5. "Medium-density STM32F103xx pin definitions", if the pin is 5V tolerant in column I/O level it should be denoted with FT!
Please read carefully how to initialize 4-bit interface in the datasheet at page 46, figure 24.
In short: your lcd_command sends two nibbles one after another, but you are required to send only one nibble for first several commands (since the display controller still is in the 8-bit mode). You'll need to have a separate function to send only one nibble.

Elasticsearch date format on mapping not working

I am trying to find the appropriate date format for the following example :
Tue Jul 25 2017 15:13:07 GMT+0000
I tried many format on the ES mapping but none worked for me!
I tried those :
E M d yyyy HH:mm:ss z
E M d yyyy HH:mm:ss Z
EEE MMM dd yyyy HH:mm:ss Z
Can anyone help?
The correct format for this is :
E MMM d y HH:mm:ss zZ

Which date format is this NSDate dateFormat?

I want to convert this string to NSDate,
Mon, 21 Mar 2016 10:26:45 GMT
so I set the date format to this:
dateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss zzz"
but it returns nil.
I tried to change this format to:
E, dd MMM yyyy HH:mm:ss zzz
EEE, dd MMM yyyy hh:mm:ss zzz
EEE, d MMM yyyy HH:mm:ss zzz
but it also returns nil.
Which date format should I use?
Your format string is ok but you have to add a compatible locale to the formatter.
For example your string works well with the US locale:
let source = "Mon, 21 Mar 2016 10:26:45 GMT"
let dateFormatter = NSDateFormatter()
dateFormatter.locale = NSLocale(localeIdentifier: "en_US")
dateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss zzz"
let result = dateFormatter.dateFromString(source)
Try this code block :
let dateFormatter = NSDateFormatter()
let dateString = "Mon, 21 Mar 2016 10:26:45 GMT"
dateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss zzz"
let date = dateFormatter.dateFromString(dateString)
Try escaping the comma:
E',' dd MMM yyyy HH:mm:ss zzz
You can try the following code
let dateString:String = "Mon, 21 Mar 2016 10:26:45 GMT"
let dateFormat = NSDateFormatter.init()
dateFormat.dateStyle = .FullStyle
dateFormat.dateFormat = "ccc, dd MM yyyy HH:mm:ss zzz"
let date:NSDate? = dateFormat.dateFromString(dateString)
print(dateFormat.stringFromDate(date!))
For more info please visit NSDateFormatter formatting

Google Sheets: Session.getEffectiveUser() returns wrong values... twice

So what I'm trying to do is to log the edits of a spreadsheet on a corresponding column.
http://i.imgur.com/P8qrJOe.gif
The last column is the autogenerated text from the embedded script.
Here's the code:
function triggeredEdit () {
// set sheet variables
var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var activeRange = activeSheet.getActiveRange();
// last updated
// LAST EDITED FOR SCRIPTS (check M3 if "Latest Row Modifications")
if (activeSheet.getRange("M3").getValue() == "Latest Row Modifications") {
for (var i = 1; i <= activeRange.getHeight(); i++) {
// modified TL column
if (activeRange.getCell(i, 1).getRow() > 4 && activeRange.getColumn() >= 6 && activeRange.getLastColumn() <= 6) {
activeSheet.getRange(activeRange.getCell(i, 1).getRow(), 13)
.setValue(Session.getEffectiveUser() + "\n" + Utilities.formatDate(new Date(), "GMT", "dd MMM YY, HH:mm:ss"));
}
// modified TLC column
else if (activeRange.getCell(i, 1).getRow() > 4 && activeRange.getColumn() >= 8 && activeRange.getLastColumn() <= 8) {
activeSheet.getRange(activeRange.getCell(i, 1).getRow(), 14)
.setValue(Session.getEffectiveUser() + "\n" + Utilities.formatDate(new Date(), "GMT", "dd MMM YY, HH:mm:ss"));
}
// modified edit column
else if (activeRange.getCell(i, 1).getRow() > 4 && activeRange.getColumn() >= 10 && activeRange.getLastColumn() <= 10) {
activeSheet.getRange(activeRange.getCell(i, 1).getRow(), 15)
.setValue(Session.getEffectiveUser() + "\n" + Utilities.formatDate(new Date(), "GMT", "dd MMM YY, HH:mm:ss"));
}
// modified QC column
else if (activeRange.getCell(i, 1).getRow() > 4 && activeRange.getColumn() >= 11 && activeRange.getLastColumn() <= 11) {
activeSheet.getRange(activeRange.getCell(i, 1).getRow(), 16)
.setValue(Session.getEffectiveUser() + "\n" + Utilities.formatDate(new Date(), "GMT", "dd MMM YY, HH:mm:ss"));
}
}
}
}`
The function triggeredEdit is run through a project trigger, which is also dynamically created in another function. As you can see in the gif, it seems like the triggeredEdit is called twice (since it changes twice). What's worse is that the correct email to be displayed is the first one, but then it gets replaced with the wrong one.
How do I go around fixing this? I'm quite stuck with this problem.
From what you explained in the comments It seems that you have 2 triggers on that spreadsheet that work simultaneously.
When you call Session.getEffectiveUser in a function triggered by onEdit, it returns the email of the user that installed the trigger. If you want to get the user at the keyboard then use Session.getActiveUser. Note that this will work only if you are in a domain, nothing is returned in normal gmail accounts.
To test that I used this small code :
function triggeredEdit () {
var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var activeRange = activeSheet.getActiveRange();
Logger.log('xx');
activeSheet.getRange(1, 1).setValue('effective = '+Session.getEffectiveUser() + "\n" + Utilities.formatDate(new Date(), "GMT", "dd MMM YY, HH:mm:ss"));
activeSheet.getRange(1, 3).setValue('active = '+Session.getActiveUser() + "\n" + Utilities.formatDate(new Date(), "GMT", "dd MMM YY, HH:mm:ss"));
}
and here is what I get when I edit a cell (Serge created the trigger and Lambda was the user at the keyboard.
:
If I use the spreadsheet with my gmail account then I get this result below : no value as activeUser
and, finally, if I create a second trigger with my gmail account I have a double instance like yours.(I didn't capture the gif, sorry ;)
All this seems quite logical after all when I refer to the documentation about script authorization : triggers run under the authority of the user that creates it.
The soluion in your case will probably to change the way the triggers are created to avoid that anyone can do it... or try to filter execution in some way but I'm not sure that can be done.