[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Apr 2004
    Beiträge
    19
    Hallo zusammen,

    anbei nun die Quellecodes.

    Hier ist der Quellcode für das aufrufende PGM

    H OPTION(*SRCSTMT)
    H DEBUG(*YES)
    fmitadress if e k disk
    D dsadr e ds extname(mitadress)
    d qcmdexc pr extpgm('QCMDEXC')
    d cmd 800A options(*varsize) const
    d cmdlen 15p 5 const
    c #keymia klist
    c kfld miadrlnrad
    c eval miadrlnrad = 1
    c #keymia chain mitadress
    /free
    qcmdexc ('SBMJOB CMD(CALL PGM(T4R2) PARM(DSADR))' : %size
    ('SBMJOB CMD(CALL PGM(T4R2) PARM(DSADR))'));
    c eval *inlr = *on

    und aus dem DEBUGGER die Auflösung der DSADR

    EVAL DSADR
    MIADRLNRAD OF DSADR = 0000001.
    MIADRANKEY OF DSADR = '01'
    MIADRNAME1 OF DSADR = 'Testname 1'
    MIADRNAME2 OF DSADR = 'Testname 2'
    MIADRNAME3 OF DSADR = 'Testname 3'
    MIADRFANAM OF DSADR = 'Test Familienname'
    MIADRVNAME OF DSADR = ' '
    MIADRSTRAS OF DSADR = 'Teststrasse '
    MIADRSTRNK OF DSADR = 000000.
    MIADRSTREK OF DSADR = 00000.
    MIADRHNRVO OF DSADR = 0059.
    MIADRHNRZV OF DSADR = ' '
    MIADRHNRBI OF DSADR = 0000.
    MIADRHNRZB OF DSADR = ' '
    MIADRPOSTF OF DSADR = '11 40 '
    MIADRLKZ_S OF DSADR = 'DE '
    MIADRLKZ_P OF DSADR = 'DE '
    MIADRPLZ_S OF DSADR = '68526 '
    MIADRPLZ_P OF DSADR = '68520 '
    MIADRORTST OF DSADR = ' '
    MIADRORT_S OF DSADR = ' '
    MIADROKZ_S OF DSADR = 33714000.
    MIADRORT_P OF DSADR = ' '
    MIADROKZ_P OF DSADR = 33714000.
    MIADRTEL OF DSADR = '0123456789012 '
    MIADRFAX OF DSADR = '0123456789012 '
    MIADREMAIL OF DSADR ' '
    MIADRBLD OF DSADR = 08.
    MIADRLVD OF DSADR = 0008.
    MIADRGWAA OF DSADR = 0826.
    MIADRHZA OF DSADR = 0062.
    MIADRAMG OF DSADR = 0722.
    MIADRADAT OF DSADR = '30.11.2000'
    MIADRAUSR OF DSADR = 'UEBERNAHME'
    MIADRAEDAT OF DSADR = '27.02.2004'
    MIADRAEUSR OF DSADR = 'BRINRAL0 '
    MIADRREDAT OF DSADR = '01.01.0001'
    MIADRREUSR OF DSADR = ' '
    MIADRLDAT OF DSADR = '01.01.0001'
    MIADRLUSR OF DSADR = ' '
    MIADRSKZ OF DSADR = ' '


    und nun der Quellecode für das empfangende PGM

    H OPTION(*SRCSTMT)
    H DEBUG(*YES)
    D dsadr e ds extname(mitadress)
    c *entry plist
    c parm dsadr
    c dump
    c eval *inlr = *on


    und der Auszug des Dumps

    NAME ATTRIBUTE WERT
    _QRNL_PRMCPY_DSADR POINTER SPP648846EF8001646
    _QRNL_PSTR_DSADR POINTER SPP648846EF8001646
    DSADR DS
    MIADRADAT DATE(10) ' ' '40404040404040404040'X
    MIADRAEDAT DATE(10) ' ' '40404040404040404040'X
    MIADRAEUSR CHAR(10) ' ' '40404040404040404040'X
    MIADRAMG ZONED(4,0) . '40404040'X
    MIADRANKEY CHAR(2) 'R ' 'D940'X
    MIADRAUSR CHAR(10) ' ' '40404040404040404040'X
    MIADRBLD ZONED(2,0) . '4040'X
    MIADREMAIL CHAR(50) VARYING ' '
    VALUE IN HEX '4040404040404040404040404040404040404040404040404 0404040404040404040404040404040'X
    41 '404040404040404040404040'X
    MIADRFANAM CHAR(32) VARYING ' PARM(DSADR) '
    VALUE IN HEX 'F25D40D7C1D9D44DC4E2C1C4D95D404040404040404040404 0404040404040404040'X
    MIADRFAX CHAR(22) VARYING ' '
    VALUE IN HEX '404040404040404040404040404040404040404040404040' X
    MIADRGWAA ZONED(4,0) . '40404040'X
    MIADRHNRBI ZONED(4,0) . '40404040'X
    MIADRHNRVO ZONED(4,0) . '40404040'X
    MIADRHNRZB CHAR(4) ' ' '40404040'X
    MIADRHNRZV CHAR(4) ' ' '40404040'X
    MIADRHZA ZONED(4,0) . '40404040'X
    MIADRLDAT DATE(10) ' ' '40404040404040404040'X
    MIADRLKZ_P CHAR(3) ' ' '404040'X
    MIADRLKZ_S CHAR(3) ' ' '404040'X
    MIADRLNRAD PACKED(7,0) ]4Ú2]1]. 'C4E2C1C4'X
    MIADRLUSR CHAR(10) ' ' '40404040404040404040'X
    MIADRLVD ZONED(4,0) . '40404040'X
    MIADRNAME1 CHAR(32) VARYING ' o '
    VALUE IN HEX '4040404040404040404040404040404040404040404040404 0404000019600000000'X
    MIADRNAME2 CHAR(32) VARYING ''
    VALUE IN HEX '000004E3F4D9F2860000000004D7C1D9D480000001000D000 1960000000005C4E2C1'X
    MIADRNAME3 CHAR(32) VARYING 'DR» CALL PGM(T4R2)'
    VALUE IN HEX 'E2C1C4D98B00000000004040404040404040001AC3C1D3D34 0D7C7D44DE3F4D9F25D'X


    Den Rest spare ich mir, da auch in diesen Felder keine besonderen Werte stehen.

    Was mache ich falsch?

    Wenn ich einen direkten CALL absetze, kommt im aufgerufenen PGM das richtige an. Das habe ich durch andere kleine TestPgms abgecheckt.

    Gruß Malte Dols

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo Malte,

    du übergibst schnöderweise das Literal DSADR an das Programm.
    Du musst den String zusammen basteln.

    Dieter Bender

    Zitat Zitat von psd-400
    qcmdexc ('SBMJOB CMD(CALL PGM(T4R2) PARM(DSADR))' : %size
    ('SBMJOB CMD(CALL PGM(T4R2) PARM(DSADR))'));
    Dols
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Apr 2004
    Beiträge
    19
    Nochmals Hallo zusammen.

    Ich habe die Idee von Baldur aufgegriffen und das ganze über eine DTAARA abgewickelt. Und was soll ich sagen(schreiben) ES KLAPPERT!!

    Danke für die Ideen und die Hilfestellungen.

    Schönes Wochenende dann mal schon im Voraus

    Gruß Malte.

Similar Threads

  1. DS Übergabe
    By Squall in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 24-10-06, 08:44
  2. FETCH n ROws in einzelne Felder einer DS
    By pedro-zapata in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 11-09-06, 12:34
  3. sbmjob und ' im Parameter
    By muadeep in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 27-06-06, 11:31
  4. Parameter übergeben
    By Vicky-B in forum IBM i Hauptforum
    Antworten: 17
    Letzter Beitrag: 14-06-04, 14:27
  5. Anfänger, cwbtf.exe parameter übergeben?
    By thoughtless in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 03-06-04, 15:26

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •