Code: Alles auswählen.
Perform f_nast using gt_sap changing gt_nast. 
Form f_nast 
 using p_table type STANDARD TABLE ty_vbrk changing p_nast.
  
  SELECT objky kschl erdat vstat parnr
         INTO CORRESPONDING FIELDS OF TABLE p_nast
         FROM nast FOR ALL ENTRIES IN p_table 
         WHERE objky EQ p_table-vbeln AND
                     kschl EQ 'X'.
    
endform.     Code: Alles auswählen.
Form f_nast 
 using p_table type STANDARD TABLE ty_vbrk changing p_nast.Code: Alles auswählen.
TYPES:
 ty_vbrk TYPE TABLE OF vbrk.
DATA:
  tab_sap TYPE STANDARD TABLE OF vbrk,
  tab_nast TYPE STANDARD TABLE OF nast.
Perform f_nast using tab_sap changing tab_nast.
Form f_nast
 using p_table type ty_vbrk changing p_nast.
  SELECT objky,kschl,erdat, vstat,parnr
         INTO CORRESPONDING FIELDS OF TABLE @p_nast
         FROM nast FOR ALL ENTRIES IN @p_table
         WHERE objky EQ @p_table-vbeln AND
                     @kschl EQ 'X'.
endform.Code: Alles auswählen.
perform f_nast using CORRESPONDING ty_objky(gt_sap mapping objky = vbeln) changing gt_nast.Code: Alles auswählen.
types: BEGIN OF ty_nast,
         objky      TYPE c LENGTH 50,
         kschl      TYPE nast-kschl,
         erdat      TYPE nast-erdat,
         vstat      TYPE nast-vstat,
         parnr      TYPE c LENGTH 10,
        END OF ty_nast,
 BEGIN OF ty_vbrk,
         vbeln TYPE c LENGTH 30,
         fkart TYPE vbrk-fkart,
         fkdat TYPE vbrk-fkdat,
         rfbsk TYPE vbrk-rfbsk,
       END OF ty_vbrk.
data: gt_sap type Standard table of ty_vbrk, 
        gt_nast type Standard table of ty_nast. 
perform f_nast using gt_sap changing gt_nast. 
form f_nast
  using p_table type ty_vbrk changing p_nast type ty_nast.
  SELECT objky kschl erdat vstat parnr
         INTO CORRESPONDING FIELDS OF table p_nast
         FROM nast FOR ALL ENTRIES IN p_table
         WHERE objky EQ p_table-vbeln AND
               kschl EQ 'x'.
endform.gt_sap und p_table sind bei dir aktuell nicht gleich deklariert.Bei PERFORM bzw. CALL FUNCTION "F_NAST" ist der Aktualparameter "GT_SAP" zum Formalparameter "P_TABLE" inkompatibel.
Aber eigentlich sind doch gt_sap und p_table komplett gleich deklariert.
Code: Alles auswählen.
types: tty_vbrk type table of ty_vbrk,
tty_nast type table of ty_nast.
Code: Alles auswählen.
types: BEGIN OF ty_nast,
         objky      TYPE c LENGTH 50,
         kschl      TYPE nast-kschl,
         erdat      TYPE nast-erdat,
         vstat      TYPE nast-vstat,
         parnr      TYPE c LENGTH 10,
        END OF ty_nast,
 BEGIN OF ty_vbrk,
         vbeln TYPE c LENGTH 30,
         fkart TYPE vbrk-fkart,
         fkdat TYPE vbrk-fkdat,
         rfbsk TYPE vbrk-rfbsk,
       END OF ty_vbrk.
types: tty_vbrk type table of ty_vbrk,
          tty_nast type table of ty_nast.
data: gt_sap   type tty_vbrk, 
         gt_nast type tty_nast. 
perform f_nast using gt_sap changing gt_nast. 
form f_nast
  using p_table type tty_vbrk changing p_nast type tty_nast.
  SELECT objky kschl erdat vstat parnr
         INTO CORRESPONDING FIELDS OF table p_nast
         FROM nast FOR ALL ENTRIES IN p_table
         WHERE objky EQ p_table-vbeln AND
               kschl EQ 'x'.
endform.
Das liegt daran, dass CORRESPONDING() aus der neuen 7.40-Syntax stammt. Der alte PERFORM-Befehl unterstützt diese jedoch nicht. Du musst also entweder OO machen oder Deine Werte vor dem PERFORM in eine Struktur kopieren, die der Typisierung des entsprechenden FORM-Parameters entspricht.Wenn ich grundsätzlich versuche mit corresponding zu arbeiten, erhalte ich die Meldung, dass das Feld "Corresponding" unbekannt ist.