Smart forms : without driver program
Is it possible to execute a smart form without a driver program?
I dont mean to say just to execute the function module.
Is there any other way?
Hi ,
yes it is possible to execute the smartform withoout driver program.
to do so, just activate the program and test(pressing F8) it .
now in the smart form tself you can include any internal table, initialize it in the global definition.
you can also include a program logic wherever you want . just right click on a window or text or anything in the navigation area, and you can get it.
thanks and regards,
Kunal.
Similar Messages
-
Calling Smart Form using Driver Program
Hi, I'm a new ABAP developer. I've recently been studied about Smart Forms and I didn't understand what are the benefits to call a smart form using driver program.
Could anyone help me, please?Bruno, it works like this.
Lets says you attach a Z output to a sales order which sends the details of the SO to the customer in a PDF format. For this purpose you have developer the o/p using smartforms or scripts. Now there are few configs that you will perform in order to send the PDF to the customer AUTOMATICALLY once the SO is saved. This is done thru the transaction NACE where you will attach the smartform, the o/p, partner function and driver program.
This driver program will get kicked in when the order is saved and will perform the logic and then call the smartform.
Hope this give a little bit better picture.
Vikram.M -
Debugging Smart form-Shipemnt-Driver program
Hai,
I have created a smart form & output type configuration is done for shiptment.
scenario 1:
I set a break point in driver program.When I go to VT02n & entered the shipment number & follew the below steps in the VT02n scree.
1.select Shipment->output->screen
enter the ouput type in the displayed popup.
now the control is going to the code where I set the bbreak point.This is fine.
Scenario 2:
I set a break point in driver program.When I go to VT02n & entered the shipment number.
Hit enter.got the edit page screen.
now GOTO->OUTPUT
here I selected the relevant output & followed the procedure to repeat the output again.
in this case the program not stopped at the place where I set the break point.
Can any one have any idea this?Why is it happening?Hi Bhaskar,
If you want to debug your smartform then do as follows;
How to debug smartform in display mode for a particular node.
Steps to debug a particular node:
1. Execute the required smartform and take the function module name from there,do not enter into that function module.
2. in SE38 search for programs by the function module name,
for eg., if the func module name is /BCDWB/SF00000024 then search parameter for f4 would be
/BCDWB/SF00000024, this would give u 4 to 5 prgs in the search list,
these are the include files which it create for the same smartform .
out of this open the prg with the name /BCDWB/LSF00000024F01 in SE38.
3./BCDWB/LSF00000024F01 - this include file actualy containes the code that we type inside smartforms.
every node or the windows that is added to the smartform is coded in FORM...ENDFORM ,
inside this include file.
4. FORM look like this .
FORM %C01.
NODE CODE5 - this is the name of the node in smartform
for the prg line node 'code5',name of the node, coding is inside this form.
so u can easily put a break point here at this point .
ENDFORM.
like this for every node the FORM is created , u can search for required node and but a break point.
Hope this information will be helpful to all. -
Error when exexuting a smart form from print program
Hi,
I have created a Print Program & Layout Set [Smart Form].
Now when i executed Print program it is throwing following error.
As internal table that we are passing to F.M is not having any data i have appended some data in debug mode.
After htting Print Immediaely Button Following EXIT Error is coming.
No table is currently processed, switching lines is not possible.
Message no. SSFCOMPOSER 183
Diagnosis
You tried to switch to the next table line, but currently no table is open for output.
System Response
The system issues an error message.
Procedure
This is probably an internal error. Please contact the SAP hotline and report the problem.
Can anybody solve this issue!
Thanks in advance.
Thanks,
Deep.Make sure that you have proper definations of internal table in program and smartform.
Regards,
Amey -
Submitting Forms without email programs
Hi,
I was wondering if there was any way to submit the pdf forms without having to rely on an email program such Outlook. Is there any way a code can be written to be able to submit forms where they don't have to be attached to the email prior to be sent? Sort of like forms that we fill online.
Thank you!!!!!!!Yes, in this case Acrobat.com is the web server that I talked about. Your client would need to set up an account there and distribute the form using their own licensed copy of Acrobat.
The downside to using Acrobat.com is troubleshooting when things go wrong on the server end, which I've experienced a number of times. Since it is controlled by Adobe, there's very little you can do when things don't work as expected.
I'll try to find some other resources to direct you to for other approaches. -
Smart forms and print program needed
Can anyone provide me with the following print programs and smart forms? I can't find it in my SAP. Thanks.
Print Program:
/SMB40/M07DR
Smart Forms:
/SMB40/MMGR1_A
/SMB40/MMGR3_A
/SMB40/MMGI1_A
Please kindly email me at [email protected]Hi
I appreciate for your sincierty i cant send through mail but i'm sending directly plz copy all the programs
INCLUDE /SMB40/M07DRTOP.
PROGRAM /BPR3PF/m07dr MESSAGE-ID m7.
DATA lgortsplit LIKE am07m-xselk.
DATA ladr LIKE sadr.
DATA *ladr LIKE sadr.
CONSTANTS: a TYPE c VALUE 'A',
b TYPE c VALUE 'B',
c TYPE c VALUE 'C',
d TYPE c VALUE 'D',
e TYPE c VALUE 'E',
f TYPE c VALUE 'F',
g TYPE c VALUE 'G',
h TYPE c VALUE 'H',
i TYPE c VALUE 'I',
j TYPE c VALUE 'J',
k TYPE c VALUE 'K',
l TYPE c VALUE 'L',
m TYPE c VALUE 'M',
n TYPE c VALUE 'N',
o TYPE c VALUE 'O',
p TYPE c VALUE 'P',
q TYPE c VALUE 'Q',
r TYPE c VALUE 'R',
s TYPE c VALUE 'S',
t TYPE c VALUE 'T',
u TYPE c VALUE 'U',
v TYPE c VALUE 'V',
w TYPE c VALUE 'W',
x TYPE c VALUE 'X',
y TYPE c VALUE 'Y',
z TYPE c VALUE 'Z'.
CONSTANTS: plus TYPE c VALUE '+',
minus TYPE c VALUE '-',
punkt TYPE c VALUE '.',
null TYPE c VALUE '0',
eins TYPE c VALUE '1',
zwei TYPE c VALUE '2',
drei TYPE c VALUE '3',
vier TYPE c VALUE '4',
fuenf TYPE c VALUE '5',
sechs TYPE c VALUE '6',
sieben TYPE c VALUE '7',
acht TYPE c VALUE '8',
neun TYPE c VALUE '9',
einsi TYPE i VALUE '1',
zweii TYPE i VALUE '2',
dreii TYPE i VALUE '3',
vieri TYPE i VALUE '4',
nzwei TYPE i VALUE '02',
ndrei TYPE i VALUE '03'.
CONSTANTS: actvt01 LIKE tact-actvt VALUE '01',
actvt02 LIKE tact-actvt VALUE '02',
actvt03 LIKE tact-actvt VALUE '03',
actvt04 LIKE tact-actvt VALUE '04',
actvt06 LIKE tact-actvt VALUE '06',
actvt65 LIKE tact-actvt VALUE '65',
actvt70 LIKE tact-actvt VALUE '70'.
CONSTANTS: maximum TYPE f VALUE 9999999999999,
minimum TYPE f VALUE -9999999999999,
maximum_gld TYPE f VALUE 99999999999,
minimum_gld TYPE f VALUE -99999999999,
maxvalue LIKE am07m-maxvalue VALUE 9999999999999,
minvalue LIKE am07m-maxvalue VALUE -9999999999999,
cnull(18) TYPE c VALUE '000000000000000000',
pf02(4) TYPE c VALUE 'PF02',
pf15(4) TYPE c VALUE 'PF15',
stern TYPE c VALUE '*',
doublestar(2) TYPE c VALUE '**',
underscore TYPE c VALUE '_',
slasch TYPE c VALUE '/',
dpunkt TYPE c VALUE ':',
curtp00 LIKE smbew-curtp VALUE '00', "Transaktionswährung
curtp10 LIKE smbew-curtp VALUE '10', "ML in Hauswährung
auto_best LIKE mseg-ebeln VALUE '9999999999',
modulpool LIKE sy-repid VALUE 'SAPMM07M'.
CONSTANTS: BEGIN OF hlp,
b(4) TYPE c VALUE 'HLPB',
f(4) TYPE c VALUE 'HLPF',
g(4) TYPE c VALUE 'HLPG',
m(4) TYPE c VALUE 'HLPM',
r(4) TYPE c VALUE 'HLPR',
v(4) TYPE c VALUE 'HLPV',
END OF hlp.
"Equates für Alphabet
TABLES:
afko,
aufk,
itcpo,
mkpf,
*mkpf,
mseg,
*mseg,
ekko,
ekkn,
*ekko,
arc_params,
ekpo,
ekbe,
lfa1,
*lfa1,
thead,
toa_dara,
am07m,
*am07m,
t001,
t001w,
*t001w,
t027b,
t027c,
t027d,
t156,
t156t,
t157e,
*t157e,
t159m,
t159n,
t159o,
t159p,
t159s,
t159e,
t024,
t024d,
*t024,
t064b,
nast,
*nast,
tnapr.
TABLES: mabdr,
mtcom,
mtcor,
twlad.
* Reportinterne Daten *
*--- Strukturen ------------------------------------------------------*
DATA: x_protab TYPE c,
x_bwart TYPE c,
bwart LIKE mseg-bwart,
eintraege LIKE sy-tfill,
anzahl LIKE mseg-weanz,
anzahl1(7) TYPE n,
x_kont TYPE c, "Mehrfachkontierung
x_kont1 TYPE c, "Einfache Kontierung (WE unbewertet)
x_form TYPE c,
x_open TYPE c.
DATA: BEGIN OF jahr,
jahr(4) TYPE n,
monat(2) TYPE n,
tag(2) TYPE n,
END OF jahr.
DATA:
BEGIN OF we,
version1 VALUE '1', "Standardversion
version2 VALUE '2', "Version mit Prüftext
version3 VALUE '3', "WE-Sammelschein
END OF we,
BEGIN OF alt,
matnr LIKE mseg-matnr,
bwart LIKE mseg-bwart,
ebeln LIKE mseg-ebeln,
usnam LIKE mkpf-usnam,
END OF alt,
BEGIN OF kunde,
kdauf LIKE mseg-kdauf,
kdpos LIKE mseg-kdpos,
kdein LIKE mseg-kdein,
END OF kunde,
BEGIN OF anlage,
anln1 LIKE mseg-anln1,
anln2 LIKE mseg-anln2,
END OF anlage,
BEGIN OF belpos,
mblnr LIKE mseg-mblnr,
zeile LIKE mseg-zeile,
END OF belpos,
xskkz,
xpsty,
xkdanr VALUE 'C',
xkde VALUE 'E',
xfert VALUE 'F',
xrvkdanr VALUE 'A',
xanlage VALUE 'A',
xanln1 VALUE 'I',
xkostl VALUE 'K',
xprojn VALUE 'P',
xmunbw VALUE 'M',
xumlag VALUE 'U',
xvbelg VALUE 'V',
xnplan VALUE 'N',
xkonsi(2) VALUE 'KB',
xwabel(2) VALUE 'WA',
xwibel(2) VALUE 'WI',
xwebel(2) VALUE 'WE',
xsele, "Position selektiert
xkont, "Kontierungswechsel
xsamm, "Sammel-WE-Schein
xanha. "Mehrfachkontierung
DATA BEGIN OF theader.
INCLUDE STRUCTURE thead.
DATA END OF theader.
*--- Interne Tabellen -------------------------------------------------*
DATA:
BEGIN OF dummy OCCURS 0,
dummy,
END OF dummy.
DATA:
BEGIN OF ausgabe OCCURS 20,
mblnr LIKE mseg-mblnr,
END OF ausgabe.
DATA: BEGIN OF xekkn OCCURS 50.
INCLUDE STRUCTURE ekkn.
DATA: END OF xekkn.
DATA: BEGIN OF xmseg OCCURS 50.
INCLUDE STRUCTURE mseg.
DATA: END OF xmseg.
DATA: BEGIN OF dtext OCCURS 1.
INCLUDE STRUCTURE tline.
DATA: END OF dtext.
DATA: BEGIN OF dktext OCCURS 1.
INCLUDE STRUCTURE tline.
DATA: END OF dktext.
DATA: BEGIN OF dptext OCCURS 1.
INCLUDE STRUCTURE thead.
DATA: END OF dptext.
DATA: BEGIN OF nast_key,
mblnr LIKE mkpf-mblnr,
mjahr LIKE mkpf-mjahr,
zeile LIKE mseg-zeile,
END OF nast_key.
DATA: BEGIN OF beltab OCCURS 20.
INCLUDE STRUCTURE mseg.
DATA: vgart LIKE mkpf-vgart,
blart LIKE mkpf-blart,
blaum LIKE mkpf-blaum,
bldat LIKE mkpf-bldat,
budat LIKE mkpf-budat,
cpudt LIKE mkpf-cpudt,
cputm LIKE mkpf-cputm,
aedat LIKE mkpf-aedat,
usnam LIKE mkpf-usnam,
tcode LIKE mkpf-tcode,
xblnr LIKE mkpf-xblnr,
bktxt LIKE mkpf-bktxt,
frath LIKE mkpf-frath,
frbnr LIKE mkpf-frbnr,
wever LIKE mkpf-wever,
kzdru LIKE t156-kzdru,
END OF beltab.
DATA: BEGIN OF traptab OCCURS 50.
INCLUDE STRUCTURE mseg.
DATA: vgart LIKE mkpf-vgart,
blart LIKE mkpf-blart,
blaum LIKE mkpf-blaum,
bldat LIKE mkpf-bldat,
budat LIKE mkpf-budat,
cpudt LIKE mkpf-cpudt,
cputm LIKE mkpf-cputm,
aedat LIKE mkpf-aedat,
usnam LIKE mkpf-usnam,
tcode LIKE mkpf-tcode,
xblnr LIKE mkpf-xblnr,
bktxt LIKE mkpf-bktxt,
frath LIKE mkpf-frath,
frbnr LIKE mkpf-frbnr,
wever LIKE mkpf-wever,
END OF traptab.
DATA: BEGIN OF inthead OCCURS 50.
INCLUDE STRUCTURE thead.
DATA: END OF inthead.
DATA: BEGIN OF intline OCCURS 50.
INCLUDE STRUCTURE tline.
DATA: END OF intline.
DATA: BEGIN OF intline1 OCCURS 50.
INCLUDE STRUCTURE tline.
DATA: END OF intline1.
*-------- Hilfsfelder -------------------------------------------------*
DATA: index_z LIKE sy-tabix,
drucker LIKE rm07m-ldest,
old_tdform LIKE t159o-tdform,
r_werks LIKE t001w-werks,
r_name1 LIKE t001w-name1,
x_form3 TYPE c,
x_nopdest TYPE c,
language LIKE t001w-spras,
zaehler_m LIKE sy-tabix,
edruck TYPE c.
DATA: old_mkpf LIKE mkpf-usnam,
old_budat LIKE mkpf-budat,
old_cpudt LIKE mkpf-cpudt,
old_werks LIKE t001w-werks,
old_name1 LIKE t001w-name1,
old_mblnr LIKE mkpf-mblnr,
old_lifnr LIKE ekko-lifnr,
old_ebeln LIKE ekko-ebeln,
old_ekgrp LIKE ekko-ekgrp,
old_reswk LIKE ekko-reswk,
old_linam LIKE am07m-name1,
old_lina2 LIKE am07m-name2,
old_eknam LIKE t024-eknam,
old_ektel LIKE t024-ektel,
old_ematn LIKE mseg-ematn,
old_lfa1 LIKE lfa1,
old_lgort LIKE mseg-lgort,
old_ladr LIKE ladr,
save_mkpf LIKE mkpf-usnam,
save_budat LIKE mkpf-budat,
save_cpudt LIKE mkpf-cpudt,
save_werks LIKE t001w-werks,
save_name1 LIKE t001w-name1,
save_mblnr LIKE mkpf-mblnr,
save_lifnr LIKE ekko-lifnr,
save_reswk LIKE ekko-reswk,
save_ebeln LIKE ekko-ebeln,
save_ekgrp LIKE ekko-ekgrp,
save_linam LIKE am07m-name1,
save_lina2 LIKE am07m-name2,
save_eknam LIKE t024-eknam,
save_ektel LIKE t024-ektel,
save_ematn LIKE mseg-ematn,
save_lfa1 LIKE lfa1,
save_lgort LIKE mseg-lgort,
save_ladr LIKE ladr,
offwhile TYPE c,
& TYPE c VALUE '&',
blank TYPE c VALUE ' ',
fenster(5) TYPE c VALUE 'WIN ',
fcount(2) TYPE c,
text1(21) TYPE c VALUE 'INTLINE-TDLINE+ ( )',
text2(22) TYPE c VALUE 'INTLINE1-TDLINE+ ( )',
text5(22) TYPE c VALUE 'INTLINE1-TDLINE+ ( )',
hifeld1(21) TYPE c VALUE 'INTLINE-TDLINE+ (10)',
shift(2) TYPE n,
fpage LIKE sy-pagno,
xscreen(1) TYPE c,
retco LIKE sy-subrc,
mblnr LIKE mkpf-mblnr,
zeile LIKE mseg-zeile,
new_page,
xkopfdr, "Kopf bereits gedruckt
n_vornr LIKE resb-vornr. "Netzplanvorgang
INCLUDE /SMB40/M07DRMTA.
*------Lesen Tabelle T001----------------------------------------------*
FORM TAB001_LESEN.
IF NOT T001-BUKRS = MSEG-BUKRS.
SELECT SINGLE * FROM T001 WHERE BUKRS = MSEG-BUKRS.
ENDIF.
ENDFORM.
*-------Lesen Tabelle T001w--------------------------------------------*
FORM TAB001W_LESEN.
IF NOT T001W-WERKS = MSEG-WERKS.
SELECT SINGLE * FROM T001W WHERE WERKS = MSEG-WERKS.
ENDIF.
R_WERKS = T001W-WERKS.
R_NAME1 = T001W-NAME1.
* Sprache für Formular aus Kondition, sonst aus Werk
IF NOT NAST-SPRAS IS INITIAL.
LANGUAGE = NAST-SPRAS.
ELSE.
LANGUAGE = T001W-SPRAS.
ENDIF.
SET LANGUAGE LANGUAGE.
ENDFORM.
*-------Lesen Tabelle T001w bei Werkswechsel --------------------------*
FORM TAB001W_LESEN_2.
IF NOT MSEG-WERKS = T001W-WERKS.
SELECT SINGLE * FROM T001W WHERE WERKS = MSEG-WERKS.
ENDIF.
ENDFORM.
*--------Lesen Tabelle T156--------------------------------------------*
FORM TAB156_LESEN.
IF NOT T156-BWART = MSEG-BWART.
SELECT SINGLE * FROM T156 WHERE BWART = MSEG-BWART.
ENDIF.
ENDFORM.
*-------Lesen Tabelle T156t--------------------------------------------*
FORM TAB156T_LESEN.
SELECT SINGLE * FROM T156T WHERE SPRAS = LANGUAGE
AND BWART = MSEG-BWART
AND SOBKZ = MSEG-SOBKZ
AND KZBEW = MSEG-KZBEW
AND KZZUG = MSEG-KZZUG
AND KZVBR = MSEG-KZVBR.
ENDFORM.
*------Lesen Tabelle T024----------------------------------------------*
FORM TAB024_LESEN.
IF NOT T024-EKGRP = EKKO-EKGRP.
SELECT SINGLE * FROM T024 WHERE EKGRP = EKKO-EKGRP.
ENDIF.
ENDFORM.
*------Lesen Tabelle T024D---------------------------------------------*
FORM TAB024D_LESEN.
SELECT SINGLE * FROM T024D WHERE WERKS = MSEG-WERKS
AND DISPO = AFKO-DISPO.
ENDFORM.
*---------------------- T027B,C lesen ---------------------------------*
FORM T027_LESEN.
SELECT SINGLE * FROM T027B WHERE SPRAS = LANGUAGE
AND EVERS = MSEG-EVERS.
CHECK NOT MSEG-EVERE IS INITIAL.
SELECT SINGLE * FROM T027C WHERE EVERS = MSEG-EVERS
AND EVERE = MSEG-EVERE.
IF NOT T027C-EVDRK IS INITIAL.
SELECT SINGLE * FROM T027D WHERE SPRAS = LANGUAGE
AND EVERS = MSEG-EVERS
AND EVERE = MSEG-EVERE.
ENDIF.
ENDFORM.
*------------ Lesen der Tabelle T159P Barcode oder Mehrfachdruck ------*
*----------------------- gewünscht ? ----------------------------------*
FORM LESEN_T159P.
IF NOT T159P-TDDEST = NAST-LDEST.
SELECT SINGLE * FROM T159P WHERE TDDEST = NAST-LDEST.
ENDIF.
ENDFORM.
*& Form T064B_LESEN
* Lesen Text zur Bestandsart Qualität/Gesperrt bei WE
FORM T064B_LESEN.
DATA: BSTAR LIKE T064B-BSTAR.
CASE MSEG-INSMK.
WHEN SPACE.
CLEAR T064B.
EXIT.
WHEN F.
CLEAR T064B.
EXIT.
WHEN X.
BSTAR = ZWEI.
WHEN ZWEI.
BSTAR = ZWEI.
WHEN S.
BSTAR = VIER.
WHEN DREI.
BSTAR = VIER.
ENDCASE.
IF NOT T064B-BSTAR = BSTAR.
SELECT SINGLE * FROM T064B WHERE SPRAS = LANGUAGE
AND BSTAR = BSTAR.
ENDIF.
ENDFORM. " T064B_LESEN
INCLUDE /SMB40/M07DRMMA.
*---------Material lesen-----------------------------------------------*
FORM MATERIAL_LESEN.
CLEAR MTCOM.
MTCOM-KENNG = 'MABDR'.
MTCOM-MATNR = MSEG-MATNR.
MTCOM-WERKS = MSEG-WERKS.
MTCOM-LGORT = MSEG-LGORT.
MTCOM-SPRAS = LANGUAGE.
MTCOM-NOMUS = 'X'.
CALL FUNCTION 'MATERIAL_LESEN'
EXPORTING
SCHLUESSEL = MTCOM
IMPORTING
MATDATEN = MABDR
RETURN = MTCOR
TABLES
SEQMAT01 = DUMMY.
IF NOT T156-KZMHD IS INITIAL.
IF NOT MABDR-MHDLP IS INITIAL.
IF T001W-VLFKZ = B. "Zentrale ?
PERFORM MHD_BERECHNEN.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
*----------------- Mindesthaltbarkeit berechnen ---------------------*
FORM MHD_BERECHNEN.
IF NOT EKPO-MHDRZ IS INITIAL.
AM07M-MHDAT = MSEG-VFDAT - ( EKPO-MHDRZ * MABDR-MHDLP / 100 ).
ELSEIF NOT MABDR-MHDRZ IS INITIAL.
AM07M-MHDAT = MSEG-VFDAT - ( MABDR-MHDRZ * MABDR-MHDLP / 100 ).
ENDIF.
ENDFORM.
*----------------- Prueftext lesen-------------------------------------*
FORM PRUEFTEXT_LESEN.
CLEAR DPTEXT.
CLEAR THEADER.
REFRESH DPTEXT.
THEADER-TDID = 'PRUE'.
THEADER-TDSPRAS = LANGUAGE.
THEADER-TDNAME = MSEG-MATNR.
THEADER-TDOBJECT = 'MATERIAL '.
CALL FUNCTION 'SELECT_TEXT'
EXPORTING
ID = THEADER-TDID
LANGUAGE = THEADER-TDSPRAS
NAME = THEADER-TDNAME
OBJECT = THEADER-TDOBJECT
IMPORTING
ENTRIES = EINTRAEGE
TABLES
SELECTIONS = DPTEXT.
ENDFORM.
* Lesen der Herstellerteilenummer *
FORM LESEN_HTN.
SELECT SINGLE MFRPN FROM MARA
INTO (AM07M-MFRPN) WHERE MATNR = MSEG-EMATN.
ENDFORM.
INCLUDE /SMB40/M07DRMBE.
*-------------Bestellung lesen-----------------------------------------*
FORM BESTELLUNG_LESEN."ORDER READING
DATA: NAME1 LIKE ADDR1_VAL-NAME1.
DATA: OLD_LIFNR LIKE EKKO-LIFNR.
CLEAR AM07M-NAME1.
CLEAR AM07M-NAME2.
IF EKKO-EBELN NE MSEG-EBELN.
SELECT SINGLE * FROM EKKO WHERE EBELN = MSEG-EBELN.
ENDIF.
SELECT SINGLE * FROM EKPO WHERE EBELN = MSEG-EBELN
AND EBELP = MSEG-EBELP.
* Purchase order history because of XBLNR read, since from MKPF can
*deviate
SELECT SINGLE * FROM EKBE WHERE EBELN = MSEG-EBELN
AND EBELP = MSEG-EBELP
AND VGABE = '1'
AND GJAHR = MSEG-MJAHR
AND BELNR = MSEG-MBLNR
AND BUZEI = MSEG-ZEILE.
IF NOT SY-SUBRC IS INITIAL.
CLEAR EKBE.
ELSE.
IF NOT EKBE-XBLNR IS INITIAL.
MKPF-XBLNR = EKBE-XBLNR.
ENDIF.
ENDIF.
CALL FUNCTION 'MM_ADDRESS_GET'
EXPORTING I_EKKO = EKKO
IMPORTING E_NAME1 = NAME1
EXCEPTIONS OTHERS = 1.
AM07M-NAME1 = NAME1.
IF NOT EKKO-LLIEF IS INITIAL.
OLD_LIFNR = EKKO-LIFNR.
EKKO-LIFNR = EKKO-LLIEF.
CALL FUNCTION 'MM_ADDRESS_GET'
EXPORTING I_EKKO = EKKO
IMPORTING E_NAME1 = NAME1
EXCEPTIONS OTHERS = 1.
AM07M-NAME2 = NAME1.
EKKO-LIFNR = OLD_LIFNR.
ENDIF.
XPSTY = EKPO-KNTTP.
CASE XPSTY.
WHEN B.
XPSTY = XKDE.
WHEN D.
XPSTY = XKDE.
WHEN G.
XPSTY = XPROJN.
WHEN O.
XPSTY = XPROJN.
WHEN Q.
XPSTY = XPROJN.
ENDCASE.
ENDFORM.
*----------Bestelltext lesen, wenn Matnr. = 0--------------------------*
FORM BESTELLTEXT_LESEN.
CLEAR: THEADER,
THEAD,
DTEXT.
REFRESH
DTEXT.
THEADER-TDID = 'F01 '.
THEADER-TDSPRAS = EKKO-SPRAS.
THEADER-TDNAME(10) = MSEG-EBELN.
THEADER-TDNAME+10(5) = MSEG-EBELP.
THEADER-TDOBJECT = 'EKPO '.
CALL FUNCTION 'READ_TEXT'
EXPORTING ID = THEADER-TDID
LANGUAGE = THEADER-TDSPRAS
NAME = THEADER-TDNAME
OBJECT = THEADER-TDOBJECT
IMPORTING HEADER = THEAD
TABLES LINES = DTEXT
EXCEPTIONS ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5.
ENDFORM.
*------------Bestellkopf lesen für WE-Version 2.-----------------------*
FORM BESTELLKOPF_LESEN.
CLEAR: THEADER,
THEAD,
DKTEXT.
REFRESH:
DKTEXT.
THEADER-TDID = 'F01 '.
THEADER-TDSPRAS = EKKO-SPRAS.
THEADER-TDNAME(10) = MSEG-EBELN.
THEADER-TDOBJECT = 'EKKO '.
CALL FUNCTION 'READ_TEXT'
EXPORTING ID = THEADER-TDID
LANGUAGE = THEADER-TDSPRAS
NAME = THEADER-TDNAME
OBJECT = THEADER-TDOBJECT
IMPORTING HEADER = THEAD
TABLES LINES = DKTEXT
EXCEPTIONS ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5.
ENDFORM.
INCLUDE /SMB40/M07DRMFA.
*------ Auftragskopf lesen --------------------------------------------*
FORM AUFTRAG_LESEN.
SELECT SINGLE * FROM AFKO WHERE AUFNR = MSEG-AUFNR.
IF MSEG-MATNR IS INITIAL.
SELECT SINGLE * FROM AUFK WHERE AUFNR = MSEG-AUFNR.
IF NOT SY-SUBRC IS INITIAL.
MESSAGE E001 WITH 'AUFK' MSEG-AUFNR.
ELSE.
MABDR-MAKTX = AUFK-KTEXT.
ENDIF.
ENDIF.
ENDFORM.
INCLUDE /SMB40/M07DRKON.
FORM KONTIERUNG_LESEN.
REFRESH XEKKN. CLEAR XEKKN.
SELECT * FROM EKKN WHERE EBELN = EKPO-EBELN
AND EBELP = EKPO-EBELP.
MOVE-CORRESPONDING EKKN TO XEKKN.
APPEND XEKKN.
* x_kont = x.
ENDSELECT.
DESCRIBE TABLE XEKKN LINES INDEX_Z.
IF INDEX_Z GT 1.
X_KONT = X.
ELSE.
X_KONT1 = X.
ENDIF.
ENDFORM.
* Network plan process determine.
FORM NW_VORGANG_LESEN USING F_AUFPL F_APLZL.
CALL FUNCTION 'READ_NETWORK_NPLNR_VORNR'
EXPORTING
APLZL = F_APLZL
AUFPL = F_AUFPL
IMPORTING
VORNR = N_VORNR
EXCEPTIONS
NOT_FOUND = 01.
ENDFORM.
* FORM PSP_CONVERT *
* Konvertierung des internen Felds PS_PSP_PNR zur Ausgabe *
FORM PSP_CONVERT USING PSPNR LIKE MSEG-PS_PSP_PNR.
CALL FUNCTION 'CJPN_INTERN_TO_EXTERN_CONV'
EXPORTING
INT_NUM = PSPNR
IMPORTING
EXT_NUM = AM07M-KONTIERUNG.
ENDFORM.
INCLUDE /SMB40/M07DRF01.
FORM WF01_DRUCK.
CALL FUNCTION 'START_FORM'
EXPORTING FORM = TNAPR-FONAM
LANGUAGE = LANGUAGE.
BELPOS-MBLNR = MKPF-MBLNR.
BELPOS-ZEILE = MSEG-ZEILE.
CONDENSE BELPOS NO-GAPS.
AM07M-BELPOS = BELPOS.
IF T156-SHKZG = H.
AM07M-HDLNE = TEXT-020.
ELSE.
AM07M-HDLNE = TEXT-010.
ENDIF.
IF NOT T159P-BACOD IS INITIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'W1BACOKOPF'.
ELSE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'W1KOPF'.
ENDIF.
IF XPSTY IS INITIAL.
IF MSEG-XBLVS IS INITIAL.
PERFORM WF1_LAGERMATERIAL. "Lagermaterial
ELSE.
PERFORM WF1_LVSMATERIAL. "LVS-Material
ENDIF.
ELSE.
PERFORM WF1_VERBRAUCHSMATERIAL.
ENDIF.
CALL FUNCTION 'END_FORM'.
PERFORM MKTO_DRUCK.
ENDFORM.
*------------ Drucken Lagermaterial ---------------------------------*
FORM WF1_LAGERMATERIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'W1LGMAT'.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
SELECT SINGLE * FROM T157E WHERE BWART = MSEG-BWART
AND GRUND = MSEG-GRUND
AND SPRAS = LANGUAGE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'RUELGGRUND'.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'LGAUSST'.
ENDFORM.
FORM WF1_LVSMATERIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'W1LVSMAT'.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
SELECT SINGLE * FROM T157E WHERE BWART = MSEG-BWART
AND GRUND = MSEG-GRUND
AND SPRAS = LANGUAGE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'RUELVSGRUND'.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'LVSAUSST'.
ENDFORM.
*-------------Drucken Verbrauchsmaterial------------------------------*
FORM WF1_VERBRAUCHSMATERIAL.
CASE XPSTY.
WHEN XKDANR. "Kundenauftrag
MOVE SPACE TO KUNDE.
CLEAR AM07M-KOTXT.
AM07M-KOTXT = TEXT-030.
KUNDE-KDAUF = MSEG-KDAUF.
KUNDE-KDPOS = MSEG-KDPOS.
KUNDE-KDEIN = MSEG-KDEIN.
MOVE SPACE TO AM07M-KONTIERUNG.
CONDENSE KUNDE NO-GAPS.
AM07M-KONTIERUNG = KUNDE.
WHEN XANLAGE. "Anlage
MOVE SPACE TO ANLAGE.
CLEAR AM07M-KOTXT.
AM07M-KOTXT = TEXT-040.
ANLAGE-ANLN1 = MSEG-ANLN1.
ANLAGE-ANLN2 = MSEG-ANLN2.
MOVE SPACE TO AM07M-KONTIERUNG.
CONDENSE ANLAGE NO-GAPS.
AM07M-KONTIERUNG = ANLAGE.
WHEN XKOSTL. "Kostenstelle
CLEAR AM07M-KOTXT.
AM07M-KOTXT = TEXT-050.
AM07M-KONTIERUNG = MSEG-KOSTL.
WHEN XPROJN. "Projekt/Netzplan
CLEAR AM07M-KOTXT.
IF MSEG-NPLNR IS INITIAL.
AM07M-KOTXT = TEXT-060.
PERFORM PSP_CONVERT USING MSEG-PS_PSP_PNR.
ELSE.
AM07M-KOTXT = TEXT-061.
AM07M-KONTIERUNG = MSEG-NPLNR.
PERFORM NW_VORGANG_LESEN USING MSEG-AUFPL MSEG-APLZL.
IF NOT N_VORNR IS INITIAL.
MOVE '/' TO AM07M-KONTIERUNG+12.
MOVE N_VORNR TO AM07M-KONTIERUNG+13.
ENDIF.
ENDIF.
ENDCASE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'W1VERBRMAT'.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
SELECT SINGLE * FROM T157E WHERE BWART = MSEG-BWART
AND GRUND = MSEG-GRUND
AND SPRAS = LANGUAGE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'RUELVERBRGRUND'.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'VERBRAUSST'.
ENDFORM.
INCLUDE /SMB40/M07DRF02.
FORM WF02_DRUCK.
T001W-WERKS = R_WERKS.
T001W-NAME1 = R_NAME1.
CALL FUNCTION 'START_FORM'
EXPORTING FORM = TNAPR-FONAM
LANGUAGE = LANGUAGE.
PERFORM PRUEFTEXT_LESEN.
IF T156-SHKZG = 'H'. "Kennzeichen Haben ?
AM07M-HDLNE = TEXT-020.
ELSE.
AM07M-HDLNE = TEXT-010.
ENDIF.
IF NOT T159P-BACOD IS INITIAL.
BELPOS-MBLNR = MKPF-MBLNR.
BELPOS-ZEILE = MSEG-ZEILE.
CONDENSE BELPOS NO-GAPS.
AM07M-BELPOS = BELPOS.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'WE2BACOKOPF'.
ELSE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'WE2KOPF'.
ENDIF.
IF XPSTY IS INITIAL. "Lagermaterial ?
PERFORM W2_LAGERMATERIAL.
ELSE.
PERFORM W2_VERBRAUCHSMATERIAL.
ENDIF.
CALL FUNCTION 'END_FORM'.
PERFORM MKTO_DRUCK.
ENDFORM.
*-------------- Lagermaterial WE-Version 2 ---------------------------*
FORM WF2_LAGERMATERIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'WE2LGMAT'.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
SELECT SINGLE * FROM T157E WHERE BWART = MSEG-BWART
AND GRUND = MSEG-GRUND
AND SPRAS = LANGUAGE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'RUELGGRUND'.
ENDIF.
THEAD-TDID = THEADER-TDID.
THEAD-TDNAME = THEADER-TDNAME.
THEAD-TDOBJECT = THEADER-TDOBJECT.
THEAD-TDSPRAS = THEADER-TDSPRAS.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'PRTXTLGMAT'.
ENDFORM.
*------------ Verbrauchsmaterial WE-Version 2 ----------------------*
FORM WF2_VERBRAUCHSMATERIAL.
CASE XPSTY.
WHEN XKDANR.
MOVE SPACE TO KUNDE.
CLEAR AM07M-KOTXT.
AM07M-KOTXT = TEXT-030.
KUNDE-KDAUF = MSEG-KDAUF.
KUNDE-KDPOS = MSEG-KDPOS.
KUNDE-KDEIN = MSEG-KDEIN.
MOVE SPACE TO AM07M-KONTIERUNG.
CONDENSE KUNDE NO-GAPS.
AM07M-KONTIERUNG = KUNDE.
WHEN XANLAGE.
MOVE SPACE TO ANLAGE.
CLEAR AM07M-KOTXT.
AM07M-KOTXT = TEXT-040.
ANLAGE-ANLN1 = MSEG-ANLN1.
ANLAGE-ANLN2 = MSEG-ANLN2.
MOVE SPACE TO AM07M-KONTIERUNG.
CONDENSE ANLAGE NO-GAPS.
AM07M-KONTIERUNG = ANLAGE.
WHEN XKOSTL.
CLEAR AM07M-KOTXT.
AM07M-KOTXT = TEXT-050.
AM07M-KONTIERUNG = MSEG-KOSTL.
WHEN XPROJN.
CLEAR AM07M-KOTXT.
IF MSEG-NPLNR IS INITIAL.
AM07M-KOTXT = TEXT-060.
PERFORM PSP_CONVERT USING MSEG-PS_PSP_PNR.
ELSE.
AM07M-KOTXT = TEXT-061.
AM07M-KONTIERUNG = MSEG-NPLNR.
PERFORM NW_VORGANG_LESEN USING MSEG-AUFPL MSEG-APLZL.
IF NOT N_VORNR IS INITIAL.
MOVE '/' TO AM07M-KONTIERUNG+12.
MOVE N_VORNR TO AM07M-KONTIERUNG+13.
ENDIF.
ENDIF.
ENDCASE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'WE2VERBRMAT'.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
SELECT SINGLE * FROM T157E WHERE BWART = MSEG-BWART
AND GRUND = MSEG-GRUND
AND SPRAS = LANGUAGE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'RUEVERBRGRUND'.
ENDIF.
THEAD-TDID = THEADER-TDID.
THEAD-TDNAME = THEADER-TDNAME.
THEAD-TDOBJECT = THEADER-TDOBJECT.
THEAD-TDSPRAS = THEADER-TDSPRAS.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'PRTXTVERBRMAT'.
ENDFORM.
INCLUDE /SMB40/M07DRE01.
FORM WE01_DRUCK.
T001W-WERKS = R_WERKS.
T001W-NAME1 = R_NAME1.
ENDFORM.
*------------ Drucken Lagermaterial ---------------------------------*
FORM W1_LAGERMATERIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'W1LGMAT'.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
SELECT SINGLE * FROM T157E WHERE BWART = MSEG-BWART
AND GRUND = MSEG-GRUND
AND SPRAS = LANGUAGE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'RUELGGRUND'.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'LGAUSST'.
ENDFORM.
FORM W1_LVSMATERIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'W1LVSMAT'.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
SELECT SINGLE * FROM T157E WHERE BWART = MSEG-BWART
AND GRUND = MSEG-GRUND
AND SPRAS = LANGUAGE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'RUELVSGRUND'.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'LVSAUSST'.
ENDFORM.
*-------------Drucken Verbrauchsmaterial------------------------------*
FORM W1_VERBRAUCHSMATERIAL.
CLEAR: AM07M-KOTXT, AM07M-KONTIERUNG.
CASE XPSTY.
WHEN XFERT. "Fertigungsauftrag
AM07M-KOTXT = TEXT-062.
IF X_KONT1 IS INITIAL.
AM07M-KONTIERUNG = MSEG-AUFNR.
ELSE.
AM07M-KONTIERUNG = EKKN-AUFNR.
ENDIF.
WHEN XKDE. "Kundeneinzelbest.
MOVE SPACE TO KUNDE.
AM07M-KOTXT = TEXT-030.
IF X_KONT1 IS INITIAL.
KUNDE-KDAUF = MSEG-KDAUF.
KUNDE-KDPOS = MSEG-KDPOS.
ELSE.
KUNDE-KDAUF = EKKN-VBELN.
KUNDE-KDPOS = EKKN-VBELP.
ENDIF.
MOVE SPACE TO AM07M-KONTIERUNG.
CONDENSE KUNDE NO-GAPS.
AM07M-KONTIERUNG = KUNDE.
WHEN XKDANR. "Kundenauftrag
MOVE SPACE TO KUNDE.
AM07M-KOTXT = TEXT-030.
IF X_KONT1 IS INITIAL.
KUNDE-KDAUF = MSEG-KDAUF.
KUNDE-KDPOS = MSEG-KDPOS.
KUNDE-KDEIN = MSEG-KDEIN.
ELSE.
KUNDE-KDAUF = EKKN-VBELN.
KUNDE-KDPOS = EKKN-VBELP.
KUNDE-KDEIN = EKKN-VETEN.
ENDIF.
MOVE SPACE TO AM07M-KONTIERUNG.
CONDENSE KUNDE NO-GAPS.
AM07M-KONTIERUNG = KUNDE.
WHEN XANLAGE. "Anlage
MOVE SPACE TO ANLAGE.
AM07M-KOTXT = TEXT-040.
IF X_KONT1 IS INITIAL.
ANLAGE-ANLN1 = MSEG-ANLN1.
ANLAGE-ANLN2 = MSEG-ANLN2.
ELSE.
ANLAGE-ANLN1 = EKKN-ANLN1.
ANLAGE-ANLN2 = EKKN-ANLN2.
ENDIF.
MOVE SPACE TO AM07M-KONTIERUNG.
CONDENSE ANLAGE NO-GAPS.
AM07M-KONTIERUNG = ANLAGE.
WHEN XKOSTL. "Kostenstelle
AM07M-KOTXT = TEXT-050.
IF X_KONT1 IS INITIAL.
AM07M-KONTIERUNG = MSEG-KOSTL.
ELSE.
AM07M-KONTIERUNG = EKKN-KOSTL.
ENDIF.
WHEN XPROJN. "Projekt/Netzplan
IF X_KONT1 IS INITIAL.
IF MSEG-NPLNR IS INITIAL.
AM07M-KOTXT = TEXT-060.
PERFORM PSP_CONVERT USING MSEG-PS_PSP_PNR.
ELSE.
AM07M-KOTXT = TEXT-061.
AM07M-KONTIERUNG = MSEG-NPLNR.
PERFORM NW_VORGANG_LESEN USING MSEG-AUFPL MSEG-APLZL.
IF NOT N_VORNR IS INITIAL.
MOVE '/' TO AM07M-KONTIERUNG+12.
MOVE N_VORNR TO AM07M-KONTIERUNG+13.
ENDIF.
ENDIF.
ELSE.
IF EKKN-NPLNR IS INITIAL.
AM07M-KOTXT = TEXT-060.
PERFORM PSP_CONVERT USING EKKN-PS_PSP_PNR.
ELSE.
AM07M-KOTXT = TEXT-061.
AM07M-KONTIERUNG = EKKN-NPLNR.
PERFORM NW_VORGANG_LESEN USING EKKN-AUFPL EKKN-APLZL.
IF NOT N_VORNR IS INITIAL.
MOVE '/' TO AM07M-KONTIERUNG+12.
MOVE N_VORNR TO AM07M-KONTIERUNG+13.
ENDIF.
ENDIF.
ENDIF.
ENDCASE.
CLEAR X_KONT1.
* User-Exit über Erweiterung MBCF0005
CALL CUSTOMER-FUNCTION '001'
EXPORTING
I_MKPF = MKPF
I_MSEG = MSEG
I_EKKO = EKKO
I_EKPO = EKPO
I_NAST = NAST
I_TNAPR = TNAPR
TABLES
I_EKKN = XEKKN
CHANGING
C_AM07M = AM07M
EXCEPTIONS
OTHERS = 0.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'W1VERBRMAT'.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
SELECT SINGLE * FROM T157E WHERE BWART = MSEG-BWART
AND GRUND = MSEG-GRUND
AND SPRAS = LANGUAGE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'RUELVERBRGRUND'.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'VERBRAUSST'.
ENDFORM.
INCLUDE /SMB40/M07DRE02.
* FORM WE02_DRUCK *
FORM WE02_DRUCK.
T001W-WERKS = R_WERKS.
T001W-NAME1 = R_NAME1.
CALL FUNCTION 'START_FORM'
EXPORTING
FORM = TNAPR-FONAM
LANGUAGE = LANGUAGE.
PERFORM PRUEFTEXT_LESEN.
IF NOT MSEG-VFDAT IS INITIAL.
AM07M-MHTXT = TEXT-105.
ENDIF.
IF NOT AM07M-MHDAT IS INITIAL.
AM07M-MHZTX = TEXT-106.
ENDIF.
IF EKKO-BSART = 'UB'.
AM07M-LITXT = TEXT-101.
AM07M-LIBZG = EKKO-RESWK.
ELSE.
AM07M-LITXT = TEXT-100.
AM07M-LIBZG = EKKO-LIFNR.
IF NOT EKKO-LLIEF IS INITIAL.
AM07M-LIBZ2 = EKKO-LLIEF.
ELSE.
AM07M-LIBZ2 = EKKO-LIFNR.
ENDIF.
ENDIF.
IF T156-SHKZG = 'H'. "Kennzeichen Haben ?
AM07M-HDLNE = TEXT-020.
ELSE.
AM07M-HDLNE = TEXT-010.
ENDIF.
IF NOT T159P-BACOD IS INITIAL.
BELPOS-MBLNR = MKPF-MBLNR.
BELPOS-ZEILE = MSEG-ZEILE.
CONDENSE BELPOS NO-GAPS.
AM07M-BELPOS = BELPOS.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE2BACOKOPF'.
ELSE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE2KOPF'.
ENDIF.
IF XPSTY IS INITIAL. "Lagermaterial ?
* User-Exit über Erweiterung MBCF0005
CALL CUSTOMER-FUNCTION '001'
EXPORTING
I_MKPF = MKPF
I_MSEG = MSEG
I_EKKO = EKKO
I_EKPO = EKPO
I_NAST = NAST
I_TNAPR = TNAPR
TABLES
I_EKKN = XEKKN
CHANGING
C_AM07M = AM07M
EXCEPTIONS
OTHERS = 0.
IF MSEG-XBLVS IS INITIAL.
PERFORM W2_LAGERMATERIAL. "Lagermaterial
ELSE.
PERFORM W2_LVSMATERIAL. "LVS-Material
ENDIF.
ELSE.
PERFORM W2_VERBRAUCHSMATERIAL.
ENDIF.
CALL FUNCTION 'END_FORM'.
PERFORM MKTO_DRUCK.
ENDFORM.
*-------------- Lagermaterial WE-Version 2 ---------------------------*
FORM W2_LAGERMATERIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE2LGMAT'.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
SELECT SINGLE * FROM T157E WHERE BWART = MSEG-BWART
AND GRUND = MSEG-GRUND
AND SPRAS = LANGUAGE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'RUELGGRUND'.
ENDIF.
THEAD-TDID = THEADER-TDID.
THEAD-TDNAME = THEADER-TDNAME.
THEAD-TDOBJECT = THEADER-TDOBJECT.
THEAD-TDSPRAS = THEADER-TDSPRAS.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'PRTXTLGMAT'.
ENDFORM.
*-------------- LVS-Daten WE-Version 2 ---------------------------*
FORM W2_LVSMATERIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'W1LVSMAT'.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
SELECT SINGLE * FROM T157E WHERE BWART = MSEG-BWART
AND GRUND = MSEG-GRUND
AND SPRAS = LANGUAGE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'RUELVSGRUND'.
ENDIF.
THEAD-TDID = THEADER-TDID.
THEAD-TDNAME = THEADER-TDNAME.
THEAD-TDOBJECT = THEADER-TDOBJECT.
THEAD-TDSPRAS = THEADER-TDSPRAS.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'PRTXTLVSMAT'.
ENDFORM.
*------------ Verbrauchsmaterial WE-Version 2 ----------------------*
FORM W2_VERBRAUCHSMATERIAL.
CLEAR: AM07M-KOTXT, AM07M-KONTIERUNG.
CASE XPSTY.
WHEN XFERT. "Fertigungsauftrag
AM07M-KOTXT = TEXT-062.
IF X_KONT1 IS INITIAL.
AM07M-KONTIERUNG = MSEG-AUFNR.
ELSE.
AM07M-KONTIERUNG = EKKN-AUFNR.
ENDIF.
WHEN XKDE.
MOVE SPACE TO KUNDE.
AM07M-KOTXT = TEXT-030.
IF X_KONT1 IS INITIAL.
KUNDE-KDAUF = MSEG-KDAUF.
KUNDE-KDPOS = MSEG-KDPOS.
ELSE.
KUNDE-KDAUF = EKKN-VBELN.
KUNDE-KDPOS = EKKN-VBELP.
ENDIF.
MOVE SPACE TO AM07M-KONTIERUNG.
CONDENSE KUNDE NO-GAPS.
AM07M-KONTIERUNG = KUNDE.
WHEN XKDANR.
MOVE SPACE TO KUNDE.
AM07M-KOTXT = TEXT-030.
IF X_KONT1 IS INITIAL.
KUNDE-KDAUF = MSEG-KDAUF.
KUNDE-KDPOS = MSEG-KDPOS.
KUNDE-KDEIN = MSEG-KDEIN.
ELSE.
KUNDE-KDAUF = EKKN-VBELN.
KUNDE-KDPOS = EKKN-VBELP.
KUNDE-KDEIN = EKKN-VETEN.
ENDIF.
MOVE SPACE TO AM07M-KONTIERUNG.
CONDENSE KUNDE NO-GAPS.
AM07M-KONTIERUNG = KUNDE.
WHEN XANLAGE.
MOVE SPACE TO ANLAGE.
AM07M-KOTXT = TEXT-040.
IF X_KONT1 IS INITIAL.
ANLAGE-ANLN1 = MSEG-ANLN1.
ANLAGE-ANLN2 = MSEG-ANLN2.
ELSE.
ANLAGE-ANLN1 = EKKN-ANLN1.
ANLAGE-ANLN2 = EKKN-ANLN2.
ENDIF.
MOVE SPACE TO AM07M-KONTIERUNG.
CONDENSE ANLAGE NO-GAPS.
AM07M-KONTIERUNG = ANLAGE.
WHEN XKOSTL.
AM07M-KOTXT = TEXT-050.
IF X_KONT1 IS INITIAL.
AM07M-KONTIERUNG = MSEG-KOSTL.
ELSE.
AM07M-KONTIERUNG = EKKN-KOSTL.
ENDIF.
WHEN XPROJN.
IF X_KONT1 IS INITIAL.
IF MSEG-NPLNR IS INITIAL.
AM07M-KOTXT = TEXT-060.
PERFORM PSP_CONVERT USING MSEG-PS_PSP_PNR.
ELSE.
AM07M-KOTXT = TEXT-061.
AM07M-KONTIERUNG = MSEG-NPLNR.
PERFORM NW_VORGANG_LESEN USING MSEG-AUFPL MSEG-APLZL.
IF NOT N_VORNR IS INITIAL.
MOVE '/' TO AM07M-KONTIERUNG+12.
MOVE N_VORNR TO AM07M-KONTIERUNG+13.
ENDIF.
ENDIF.
ELSE.
IF EKKN-NPLNR IS INITIAL.
AM07M-KOTXT = TEXT-060.
PERFORM PSP_CONVERT USING EKKN-PS_PSP_PNR.
ELSE.
AM07M-KOTXT = TEXT-061.
AM07M-KONTIERUNG = EKKN-NPLNR.
PERFORM NW_VORGANG_LESEN USING EKKN-AUFPL EKKN-APLZL.
IF NOT N_VORNR IS INITIAL.
MOVE '/' TO AM07M-KONTIERUNG+12.
MOVE N_VORNR TO AM07M-KONTIERUNG+13.
ENDIF.
ENDIF.
ENDIF.
ENDCASE.
CLEAR X_KONT1.
* User-Exit über Erweiterung MBCF0005
CALL CUSTOMER-FUNCTION '001'
EXPORTING
I_MKPF = MKPF
I_MSEG = MSEG
I_EKKO = EKKO
I_EKPO = EKPO
I_NAST = NAST
I_TNAPR = TNAPR
TABLES
I_EKKN = XEKKN
CHANGING
C_AM07M = AM07M
EXCEPTIONS
OTHERS = 0.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE2VERBRMAT'.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
SELECT SINGLE * FROM T157E WHERE BWART = MSEG-BWART
AND GRUND = MSEG-GRUND
AND SPRAS = LANGUAGE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'RUEVERBRGRUND'.
ENDIF.
THEAD-TDID = THEADER-TDID.
THEAD-TDNAME = THEADER-TDNAME.
THEAD-TDOBJECT = THEADER-TDOBJECT.
THEAD-TDSPRAS = THEADER-TDSPRAS.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'PRTXTVERBRMAT'.
ENDFORM.
INCLUDE /SMB40/M07DRE03.
* FORM WE03_AUSGABE *
FORM WE03_AUSGABE using lgortsplit.
*----------------Drucken WE-Version 3 Überschrift---------------------*
if lgortsplit is initial.
ON CHANGE OF MKPF-MBLNR OR MSEG-EBELN OR MSEG-BWART
OR NAST-KSCHL OR MSEG-WERKS.
CLEAR XKOPFDR.
endon.
else.
ON CHANGE OF MKPF-MBLNR OR MSEG-EBELN OR MSEG-BWART
OR NAST-KSCHL OR MSEG-WERKS
OR MSEG-LGORT.
CLEAR XKOPFDR.
endon.
endif.
IF XKOPFDR IS INITIAL.
XKOPFDR = X.
IF NEW_PAGE = X.
CALL FUNCTION 'CONTROL_FORM'
EXPORTING
COMMAND = 'NEW-PAGE'.
ENDIF.
IF EKKO-BSART = 'UB'.
AM07M-LITXT = TEXT-101.
AM07M-LIBZG = EKKO-RESWK.
ELSE.
AM07M-LITXT = TEXT-100.
AM07M-LIBZG = EKKO-LIFNR.
IF NOT EKKO-LLIEF IS INITIAL.
AM07M-LIBZ2 = EKKO-LLIEF.
ELSE.
AM07M-LIBZ2 = EKKO-LIFNR.
ENDIF.
ENDIF.
IF T156-SHKZG = H.
AM07M-HDLNE = TEXT-020.
ELSE.
AM07M-HDLNE = TEXT-010.
ENDIF.
IF XPSTY IS INITIAL. "Lagermaterial ?
IF MSEG-XBLVS IS INITIAL.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
IF NOT T159P-BACOD IS INITIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3BACOKOPF'
WINDOW = 'RÜKOPF'.
NEW_PAGE = X.
ELSE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3KOPF'
WINDOW = 'RÜKOPF'.
NEW_PAGE = X.
ENDIF.
ELSE.
IF NOT T159P-BACOD IS INITIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3BACOKOPF'
WINDOW = 'KOPF'.
NEW_PAGE = X.
ELSE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3KOPF'
WINDOW = 'KOPF'.
NEW_PAGE = X.
ENDIF.
ENDIF.
ELSE.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
IF NOT T159P-BACOD IS INITIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3BACOLVSKOPF'
WINDOW = 'RÜKOPF'.
NEW_PAGE = X.
ELSE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3LVSKOPF' "RL-Material
WINDOW = 'RÜKOPF'.
NEW_PAGE = X.
ENDIF.
ELSE.
IF NOT T159P-BACOD IS INITIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3BACOLVSKOPF'
WINDOW = 'KOPF'.
NEW_PAGE = X.
ELSE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3LVSKOPF' "RL-Material
WINDOW = 'KOPF'.
NEW_PAGE = X.
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
IF NOT T159P-BACOD IS INITIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3BACOKOPF1'
WINDOW = 'RÜKOPF'.
NEW_PAGE = X.
ELSE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3KOPF1'
WINDOW = 'RÜKOPF'.
NEW_PAGE = X.
ENDIF.
ELSE.
IF NOT T159P-BACOD IS INITIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3BACOKOPF1'
WINDOW = 'KOPF'.
NEW_PAGE = X.
ELSE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3KOPF1'
WINDOW = 'KOPF'.
NEW_PAGE = X.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
*------------- Drucken WE-Version 3 Position --------------------------*
**perform w3_lieferplan. "Routine Lieferplan
CLEAR T157E.
IF T156-SHKZG = H AND
NOT MSEG-GRUND IS INITIAL.
SELECT SINGLE * FROM T157E WHERE BWART = MSEG-BWART
AND GRUND = MSEG-GRUND
AND SPRAS = LANGUAGE.
ENDIF.
IF MSEG-EBELN IS INITIAL.
IF NOT MABDR-MAKTX IS INITIAL.
EKPO-TXZ01 = MABDR-MAKTX.
ENDIF.
ENDIF.
IF MABDR-WERTU IS INITIAL AND
MABDR-MENGU = X OR "Bestandsfuehrung = UNBW oder
XPSTY IS INITIAL. "Lagermaterial ?
* User-Exit über Erweiterung MBCF0005
CALL CUSTOMER-FUNCTION '001'
EXPORTING
I_MKPF = MKPF
I_MSEG = MSEG
I_EKKO = EKKO
I_EKPO = EKPO
I_NAST = NAST
I_TNAPR = TNAPR
TABLES
I_EKKN = XEKKN
CHANGING
C_AM07M = AM07M
EXCEPTIONS
OTHERS = 0.
IF MSEG-XBLVS IS INITIAL.
PERFORM W3_LAGERMATERIAL. "Routine Lagermaterial
ELSE.
PERFORM W3_LVSMATERIAL. "Routine RL-Material
ENDIF.
ELSE.
PERFORM W3_VERBRAUCHSMATERIAL. "Routine Verbrauchsmaterial
ENDIF.
*-------------- Drucken WE-Version 3 Seitenfuss ----------------------*
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3FUSS'
WINDOW = 'FUSS'
FUNCTION = 'APPEND'.
ENDFORM.
*--------------Unteroutinen für Positionsdruck -----------------------*
FORM W3_LAGERMATERIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3LGMAT'.
ENDFORM.
* FORM W3_LVSMATERIAL *
FORM W3_LVSMATERIAL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'WE3LVSMAT'.
ENDFORM.
* FORM W3_VERBRAUCHSMATERIAL *
FORM W3_VERBRAUCHSMATERIAL.
CLEAR: AM07M-KONTIERUNG.
AM07M-RSTYP = XPSTY.
CASE XPSTY.
WHEN XFERT. "Fertigungsauftrag
IF X_KONT1 IS INITIAL.
AM07M-KONTIERUNG = MSEG-AUFNR.
ELSE.
AM07M-KONTIERUNG = EKKN-AUFNR.
ENDIF.
WHEN XANLAGE.
MOVE SPACE TO ANLAGE.
IF X_KONT1 IS INITIAL.
ANLAGE-ANLN1 = MSEG-ANLN1.
ANLAGE-ANLN2 = MSEG-ANLN2.
ELSE.
ANLAGE-ANLN1 = EKKN-ANLN1.
ANLAGE-ANLN2 = EKKN-ANLN2.
ENDIF.
MOVE SPACE TO AM07M-KONTIERUNG.
CONDENSE ANLAGE NO-GAPS.
AM07M-KONTIERUNG = ANLAGE.
WHEN XKDE. "Kundeneinzelbestand?
MOVE SPACE TO KUNDE.
IF X_KONT1 IS INITIAL.
KUNDE-KDAUF = MSEG-KDAUF.
KUNDE-KDPOS = MSEG-KDPOS.
ELSE.
KUNDE-KDAUF = EKKN-VBELN.
KUNDE-KDPOS = EKKN-VBELP.
ENDIF.
MOVE SPACE TO AM07M-KONTIERUNG.
CONDENSE KUNDE NO-GAPS.
AM07M-KONTIERUNG = KUNDE.
WHEN XKDANR. "Kundenauftrag ?
MOVE SPACE TO KUNDE.
IF X_KONT1 IS INITIAL.
KUNDE-KDAUF = MSEG-KDAUF.
KUNDE-KDPOS = MSEG-KDPOS.
KUNDE-KDEIN = MSEG-KDEIN.
ELSE.
KUNDE-KDAUF = EKKN-VBELN.
KUNDE-KDPOS = EKKN-VBELP.
KUNDE-KDEIN = EKKN-VETEN.
ENDIF.
MOVE SPACE TO AM07M-KONTIERUNG.
CONDENSE KUNDE NO-GAPS.
AM07M-KONTIERUNG = KUNDE.
WHEN XKOSTL. "auf Kostenstelle kontiert
IF X_KONT1 IS INITIAL.
AM07M-KONTIERUNG = MSEG-KOSTL.
ELSE.
AM07M-KONTIERUNG = EKKN-KOSTL.
ENDIF.
WHEN XPROJN. "auf Projekt/Netzplan
IF X_KONT1 IS INITIAL.
IF MSEG-NPLNR IS INITIAL.
PERFORM PSP_CONVERT USING MSEG-PS_PSP_PNR.
ELSE.
AM07M-KONTIERUNG = MSEG-NPLNR.
PERFORM NW_VORGANG_LESEN USING MSEG-AUFPL MSEG-APLZL.
IF NOT N_VORNR IS INITIAL.
MOVE '/' TO AM07M-KONTIERUNG+12.
MOVE N_VORNR TO AM07M-KONTIERUNG+13.
ENDIF.
ENDIF.
ELSE.
IF EKKN-NPLNR IS INITIAL.
PERFORM PSP_CONVERT USING EKKN-PS_PSP_PNR.
ELSE.
AM07M-KONTIERUNG = EKKN-NPLNR.
PERFORM NW_VORGANG_LESEN USING EKKN-AUFPL EKKN-APLZL.
IF NOT N_VORNR IS INITIAL.
-
F110 - output using Form and Driver program
Hi All,
I need to prepare Sap Script Form for F110 tcode.
standard scriptname to be use is F110_IN_AVIS
standard driver program to be use is RFFOAVIS_FPAYM.
but i dont know, where to assign these to F110 and check the output weather Form is displaying the data in correct way or not.
Thanks for you help.
SrinivasHi Jayasri,
Thanks for your reply, if i mentioned wrong, could you please tell me what should i mention for "Payment Advisor to Vendors".
After mentioned the form name in FBZP. How to check the output on Form using F110. Because, to execute it, when I hit "Printout", am getting jobname. With that jobname, if i go to sm37, i am getting the status has "Finished". So can't i see the output.
If i see the output, then only i can do the need full changes to my client requirement.
Could you please help me on this.
Thanks for your reply.
Satya Srinivas -
Reg: Smart forms and print programs
Hi
I would like to locate the print programs and the corresponding smart forms. say for invoice we have a smart form available and how to track the print program for it. pls advise.
thkx
PrabhuHi Prabhu,
You can track the Program through mainintaing table TNAPR. TNAPR is the table which is having entries for "Processing Programs for output".
Here you have fields like
pgnam - Program Name
sform - Smartform Name
fonam - Script Name
kschl - Output type
Here,You can maintain form against a program name.
Hope you are clear.
Regards,
Siddhesh Sanghvi. -
Assignment form and driver program
In which t-code do we assign service order form and its respective print program. its not there in NACE.
The standard t-code that prints this form is IW32
please help
Edited by: Progirl Progirl on Jun 5, 2009 4:39 PMHi,
Here is the way
Go to SPRO -> Plant Maintainance and Customer Service -> Maintainance and Service Processing - >Maintainance and Service Orders - > Print Control -> Define Shop Papers, Forms and Output programs ->Click on Define shop papers .
Here you check shop paper for Service order and attach form & Program. -
Error, while calling driver program for Smartforms
Hi All,
I am getting a error while running DRIVER PROGRAM of smart form.
both driver program and smart form running successfully without any error while executing separately. But
while calling Smart Form from driver program. it is giving error as :-
*Events are already defined.*
Description :- You tried to define events for a section, but a section with
events is already active. You are not allowed to nest events.
Regards,
Pavan.MThis is nothing to do with coding, this coz of error is from smartforms....
Regards,
Pavan.M -
i want the name of the driver program & form name in smartform for Invoice .
kindly help.tksHi,
Go to transaction NACE, select application V3 - Billing then click on output types.
click on medium type.
For ex: NEU for print output, then on left hand side select processing routines, then you can see smart form/ script & driver programs associated with that.
Reward if it is useful
Praneeth -
hI FRIENDS,
i HAVE TO CREATE ONE SMART FORM WITH DRIVER PROGRAM FOR s (sTORAGE UNIT ) . CAN YOU HELP ME TO KNOW WHAT IS THE TCODE , OUTPUT TYPE, APPLICATION FOR THE sU PRINT ? pLEASE INFORM ME THE MASTER TABLES FOR sUAS WELL .
tHANKS IN ADVANCE .Hi,
I hope the below link will help you.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d763c290-0201-0010-95ae-985957613e90
Thanks,
Khushboo. -
hi
i am getting run time error while running DRIVER PROGRAM of smartform.
both driver program and smartform running successfully without any error while executing saprately.
while calling Smart Form by driver prg. it is giving error as :-
<u> <b> Events are already defined</b>.</u>
Description :- <b>You tried to define events for a section, but a section with
events is already active. You are not allowed to nest events.</b>
plz guide meHi,
Go to smartforms and check whether you had selected the events in the data tab of complex section or table which you had created which is under the short creteria
or.
check whter you had selected any events in the conditions tab of any of the node whether it maight be text element,table,section,window..etc.
Thanks,
Nethaji. -
dear experts,
do you have any experience with the forms in GTS. we have to print LTVD (long term vendor declarations) and have to decide wether to go for smart forms or pdf (adobe, incl this java stacks and ads configuration)
appreciate any experience feedback.
many thanks for you time
peterHi,
No, there is no technical restriction on using particular layout. u can use whatever u wanna to use. For know more about smartforms go thru,
http://help.sap.com/saphelp_47x200/helpdata/en/a5/de6838abce021ae10000009b38f842/frameset.htm
Smartform have following advantages:
1. Creating and maintaining forms in less time than SAPScript.
2. Adapting forms without any programming knowledge due to entirely graphical user interface. ( ofcourse you need to write driver program for smartforms, but you can write most of your code in smartform itself.. see the above given link for more detail)
3. Integrating input elements into the HTML output, which enables you to use a form in Internet applications as well.
I hope this will help you.
Pratik -
Driver program for sales order in smartforms?
whatst he driver prog for sales order in smartforms?
how to attach my smart form to driver prog
thanks & regards
lakshmiHi,
Driver Program is the program which is used to link the form and the ABAP program.
U have to use the FM 'SSF_FUNCTION_MODULE_NAME' to give the form name.
Here 'Z_TRNG_SMART_MUL_PURCH_T012' is the form name.
sf_formname = 'Z_TRNG_SMART_MUL_PURCH_T012'.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = sf_formname
IMPORTING
fm_name = sf_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION sf_fm_name
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
v_ekpo = v_ekpo
v_adrnr = v_adrnr
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
TABLES
it_ekko = it_ekko
it_ekpo = it_ekpo
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Thanks & Regards,
Roja Velagapudi.
Maybe you are looking for
-
Can't get Spry to load with my code
I can't get my spry accordion to come up on my page. I know I'm doing everything right. I tested my process in another website and I'm doing everything fine. There must be some sort of glitch in my code before I enter the Spry that its not allowing i
-
Looking for a transistor that works at 27MHz
Looking for a transistor that works at 27MHz
-
Hellow. I created BW Reports using level up/down. It's appeared user ID and Password popup window when excel file opened after export as ms excel in the web reports. Thers is no problem without level up/down. Would you help how pass ID/password popup
-
Flight Recorder does not provide Method Profiling Samples on CentOS 5
Flight recorder from jdk 1.8.0_05 does not collect information about methods then running under CentOS 5. But jdk1.7.0_55 provides "Method Profiling Samples" events on the same machine. Steps to reproduce: 1. Download test class - https://gist.github
-
Datatypes and names of columns of recordgroup during run-time
Hi everyone, Can you please tell me that Is it possible to get the datatype and name of columns of a recordgroup during run-time or not. So that I don't waste my time in searching for this solution. If you are not getting my question then please let