©
serviceprofessionalgmbh
Schreibt einen Programmkopf an den Anfang. Näheres finden Sie im Kommentar.
/* REXX * EDIT MACRO *************************************************/
/* */
/* Macroname.: $HEAD */
/* Zweck.....: Einfuegen des Programmkopfes am Dateianfang */
/* Das Macro prueft den Dateinamen schreibt davon */
/* abhaengig unterschiedliche Headerzeilen: */
/* */
/* xxxxxxxx.MACRO.CLIST * CLIST * EDIT MACRO **** */
/* xxxxxxxx.MACRO.EXEC * REXX * EDIT MACRO ***** */
/* xxxxxxxx.?????.CLIST * CLIST * PROGRAMM ****** */
/* xxxxxxxx.?????.EXEC * REXX * PROGRAMM ******* */
/* */
/* Monat/Jahr der Erstellung werden aus dem System- */
/* datum gesetzt. Als Programmname wird der Member- */
/* name eingesetzt. */
/* Die ersten beiden Statements werden in Abhaengigkeit */
/* gesetzt: */
/* CLIST MACRO: ISREDIT MACRO (TEST)" */
/* ISPEXEC CONTROL ERRORS CANCEL */
/* IF &TEST = T THEN DO */
/* CONTROL CONLIST */
/* ISPEXEC CONTROL ERRORS RETURN */
/* END */
/* CLIST PGM..: PROC 0 DEBUG */
/* IF &DEBUG = T THEN CONTROL CONLIST */
/* REXX MACRO.: ADDRESS ISREDIT */
/* "MACRO (TEST)" */
/* IF TEST = 'T' THEN DO */
/* IF TEST = 'T' THEN TRACE '?R' */
/* ADDRESS ISPEXEC "CONTROL ERRORS RETURN*/
/* END */
/* REXX PGM...: ARG TEST */
/* IF TEST = 'T' THEN TRACE '?R' */
/* */
address isredit
"macro"
"(progname) = member"
"(dsn) = dataset"
parse upper value dsn with project '.' group '.' type
titel = "PROGRAMM"
select
when group = "MACRO" then do
titel = "EDIT MACRO"
select
when type = "EXEC" then do
titel = "REXX *" titel
k.10 = 'address isredit'
k.11 = '"macro (test)"'
k.12 = 'address ispexec "CONTROL ERRORS CANCEL"'
k.13 = 'if test = "T" then do'
k.14 = ' trace "?r"'
k.15 = ' address ispexec "CONTROL ERRORS RETURN"'
k.16 = 'end'
k.max=16
end
when type = "CLIST" then do
titel = "CLIST *" titel
k.10 = "ISREDIT MACRO (TEST)"
k.11 = "ISPEXEC CONTROL ERRORS CANCEL"
k.12 = "IF &TEST = T THEN DO"
k.13 = " CONTROL CONLIST"
k.14 = " ISPEXEC CONTROL ERRORS RETURN"
k.15 = "END"
k.max=15
end
otherwise do
titel = "????? *" titel
k.max=9
end
end
end
when type = "EXEC" then do
titel = "REXX *" titel
k.10 = 'arg test .'
k.11 = 'if test = "T" then trace "?r"'
k.max=11
end
when type = "CLIST" then do
titel = "CLIST *" titel
k.10 = "PROC 0 DEBUG"
k.11 = "IF &DEBUG = T THEN CONTROL CONLIST LIST MSG"
k.max= 11
end
otherwise do
titel = "????? *" titel
k.max=9
end
end
edat=translate(substr(date('E'),4),'.','/')
if pos("MACRO",titel) > 0 then pgmtyp="Macroname.:"
else pgmtyp="PGM-Name..:"
user=userid()
if wordpos(user,"XWIH XHZ9001") > 0 then user = "Wittemann"
k.1="/*" titel right('*/',67-length(titel),'*')
k.2="/*" right('*/',68)
k.3="/*" pgmtyp progname right('*/',67-length(pgmtyp progname))
k.4="/* Zweck.....: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" right('*/',25)
k.5=k.2
k.6="/* Erstellt..:" edat left(user,47) "*/"
k.7=k.2
k.8="/* Geaendert.: mm.jj name grund" right('*/',34)
k.9=k.2
s_insert=0
"locate .zfirst"
if rc = 8 then do
"line_after 0 = ' '"
s_insert=1
end
do cnt=1 to k.max
"line_before" cnt "= '"k.cnt"'"
end
if s_insert = 1 then do
"delete .zlast"
"insert .zlast"
end
"up max"
exit
zurück zu Edit Makros