Customizing smartform copy interface /SMB40/SDDLN_A print prog RLE_DELNOTE
customized a smartform to pring delivery notes(VL01) by Copying interface from SAP standard form /SMB40/SDDLN_A, and print it with standard print program:RLE_DELNOTE.
but not item information can be displayed.
the procdure:
after enter tcode:vl03,and chose my output type, but in fact only the header information was printed, there is nothing about item information, even i change output type to standard smartform:
1 Print output RLE_DELNOTE ENTRY /SMB40/SDDLN_A
item information still can't be print out,in debug mod i find that: only header data was filled, there is no
item data.
did anyone had met this problem?
is it due to the configuration or the package of smartforms?
thanks
Hi Ashok,
can you look at the table <b>TNAPR</b>, here you will get all the standard forms
Regards
Sudheer
Similar Messages
-
Smartforms :Multiple forms 2 be printed in single print prog,PDF too
Hello Smartforms Gurus
I need to print 4 forms (Export Invoice, packing List, Enclosure to Packing list, Case marking) within a single print prog .
User will execute this prog and it should print all the 4 forms and then by clicking on a button(Archive) there
it should download a single pdf file containing all 4 forms .
At present my following program directly download this form(only Export Invoice) to a pdf file but doesnt leave options to go to Print or Print Preview .
Plz look into my code , and suggest.
Thnx
Moni
*Printing of Export Invoice, Packing List,Enclosure to Packing List & *
*Case Marking in one SMART FORMS Layout *
REPORT ZSD_REP_MULTI_PRINT.
TABLES :
vbak,
vbap,
vbpa,
vbfa,
VBRK,
VBRP,
LIKP,
LIPS,
KONV,
objk,
tvko,
ser01,
sadr,
equi,
makt,
mast,
t005t,
kna1,
t001w,
T001,
ADRC,
sscrfields,
zpp_plcmi, "Packing list history For Conf: Item data
zplh, "PACKING LIST HISTORY : HEADER DATA
zpli. "PACKING LIST HISTORY : ITEM DATA
DATA: FM_NAME TYPE RS38L_FNAM,
P_E_DEVTYPE TYPE RSPOPTYPE,
P_JOB_OUTPUT_INFO TYPE SSFCRESCL OCCURS 2000 WITH HEADER LINE,
P_OUTPUT_OPTIONS TYPE SSFCOMPOP OCCURS 0 WITH HEADER LINE,
P_CONTROL_PARAMETERS TYPE SSFCTRLOP OCCURS 0 WITH HEADER LINE ,
P_DOC LIKE DOCS OCCURS 2000 WITH HEADER LINE,
P_LINES LIKE TLINE OCCURS 200,
P_BIN_FILESIZE TYPE I,
P_LANGUAGE TYPE SFLANGU,
P_BIN_FILE TYPE XSTRING,
<i>OK_CODE LIKE SY-UCOMM.</i>
DATA: T_ITEM TYPE ZSD_TABL_LITEM,
WA_ITEM TYPE ZSD_STRUCT_LITEM,
T_ADRS LIKE ZSD_STRUCT_ADRS OCCURS 0 WITH HEADER LINE,
MSLINES LIKE TLINE OCCURS 1 WITH HEADER LINE,
TIDNO LIKE STXL-TDID,
TNAME LIKE STXL-TDNAME,
TOBJT LIKE STXL-TDOBJECT,
SSORD LIKE VBAK-VBELN,
TOT LIKE VBAK-NETWR,
WORD LIKE SPELL.
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETERS: P_DELNO LIKE LIKP-VBELN OBLIGATORY,
P_INVNO LIKE VBRK-VBELN OBLIGATORY,
P_DATE LIKE SY-DATUM.
SELECTION-SCREEN END OF BLOCK blk1.
AT SELECTION-SCREEN.
CLEAR T_ADRS.
REFRESH T_ITEM.
T_ADRS-INVNO = P_INVNO.
T_ADRS-INVDAT = P_DATE.
SELECT SINGLE VBELV INTO VBFA-VBELV
FROM VBFA
WHERE VBELN = P_DELNO
AND VBTYP_N = 'J' .
SSORD = VBFA-VBELV.
*Exporter's Address
SELECT SINGLE BUKRS_VF INTO VBAK-BUKRS_VF
FROM VBAK
WHERE VBELN = VBFA-VBELV.
SELECT SINGLE ADRNR
INTO T001-ADRNR
FROM T001
WHERE BUKRS = VBAK-BUKRS_VF.
SELECT SINGLE NAME1 STREET CITY1 POST_CODE1 COUNTRY
INTO (T_ADRS-NAME1,T_ADRS-STREET,T_ADRS-CITY1,
T_ADRS-POST_CODE1, ADRC-COUNTRY)
FROM ADRC
WHERE ADDRNUMBER EQ T001-ADRNR.
SELECT SINGLE LANDX
INTO T_ADRS-COUNTRY
FROM T005T
WHERE SPRAS = 'EN'
AND LAND1 = ADRC-COUNTRY.
**BUYERS NO & DATE
SELECT SINGLE BSTNK BSTDK INTO (T_ADRS-BSTNK,T_ADRS-BSTDK)
FROM VBAK
WHERE VBELN = VBFA-VBELV.
*Consignee Address & Buyer Other Than Consignee
SELECT SINGLE KUNNR KUNAG INTO (LIKP-KUNNR, LIKP-KUNAG)
FROM LIKP WHERE VBELN = P_DELNO.
IF LIKP-KUNNR = LIKP-KUNAG.
SELECT SINGLE NAME1 NAME2 STRAS ORT01 PSTLZ REGIO TELF1 ADRNR
INTO (T_ADRS-CNAME1, T_ADRS-CNAME2, T_ADRS-CSTREET,
T_ADRS-CCITY, T_ADRS-CPCODE, T_ADRS-CREGIO,
T_ADRS-CTELF1, KNA1-ADRNR)
FROM KNA1
WHERE KUNNR = LIKP-KUNNR.
SELECT SINGLE COUNTRY INTO ADRC-COUNTRY
FROM ADRC
WHERE ADDRNUMBER EQ KNA1-ADRNR.
SELECT SINGLE LANDX
INTO T_ADRS-CCOUNTRY
FROM T005T
WHERE SPRAS = 'EN'
AND LAND1 = ADRC-COUNTRY.
T_ADRS-ONAME1 = T_ADRS-CNAME1 .
T_ADRS-ONAME2 = T_ADRS-CNAME2 .
T_ADRS-OSTREET = T_ADRS-CSTREET .
T_ADRS-OCITY = T_ADRS-CCITY.
T_ADRS-OPCODE = T_ADRS-CPCODE .
T_ADRS-OREGIO = T_ADRS-CREGIO.
T_ADRS-OTELF1 = T_ADRS-CTELF1 .
T_ADRS-OCOUNTRY = T_ADRS-CCOUNTRY.
ELSE.
SELECT SINGLE NAME1 NAME2 STRAS ORT01 PSTLZ REGIO TELF1 ADRNR
INTO (T_ADRS-CNAME1, T_ADRS-CNAME2, T_ADRS-CSTREET,
T_ADRS-CCITY, T_ADRS-CPCODE, T_ADRS-CREGIO,
T_ADRS-CTELF1, KNA1-ADRNR)
FROM KNA1
WHERE KUNNR = LIKP-KUNNR.
SELECT SINGLE COUNTRY INTO ADRC-COUNTRY
FROM ADRC
WHERE ADDRNUMBER EQ KNA1-ADRNR.
SELECT SINGLE LANDX
INTO T_ADRS-CCOUNTRY
FROM T005T
WHERE SPRAS = 'EN'
AND LAND1 = ADRC-COUNTRY.
*Buyer Other than Consignee
SELECT SINGLE NAME1 NAME2 STRAS ORT01 PSTLZ REGIO TELF1 ADRNR
INTO (T_ADRS-ONAME1, T_ADRS-ONAME2, T_ADRS-OSTREET,
T_ADRS-OCITY, T_ADRS-OPCODE, T_ADRS-OREGIO,
T_ADRS-OTELF1, KNA1-ADRNR)
FROM KNA1
WHERE KUNNR = LIKP-KUNAG.
SELECT SINGLE COUNTRY INTO ADRC-COUNTRY
FROM ADRC
WHERE ADDRNUMBER EQ KNA1-ADRNR.
SELECT SINGLE LANDX
INTO T_ADRS-OCOUNTRY
FROM T005T
WHERE SPRAS = 'EN'
AND LAND1 = ADRC-COUNTRY.
ENDIF.
*Other's Ref
TIDNO = 'Z071'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-OREF = mslines-tdline(25).
EXIT.
ENDLOOP.
*Buyer's Order No Ref
TIDNO = 'Z023'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-BUYER = mslines-tdline(25).
EXIT.
ENDLOOP.
*Exporter Ref
TIDNO = 'Z072'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-XPREF = mslines-tdline(25).
EXIT.
ENDLOOP.
*Pre-Carraige By
TIDNO = 'Z074'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PCRG = mslines-tdline(25).
EXIT.
ENDLOOP.
*Place Of reciept by Pre-Carraige
TIDNO = 'Z073'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PLPCRG = mslines-tdline(25).
EXIT.
ENDLOOP.
*Vessel/Flight No
TIDNO = 'Z075'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-VFNO = mslines-tdline(25).
EXIT.
ENDLOOP.
*Port Of Loading
TIDNO = 'Z077'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PLOAD = mslines-tdline(25).
EXIT.
ENDLOOP.
*Port Of Discharge
TIDNO = 'Z076'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PDISG = mslines-tdline(25).
EXIT.
ENDLOOP.
*Final Destination
TIDNO = 'Z070'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-FDEST = mslines-tdline(25).
EXIT.
ENDLOOP.
*Terms Of Delivery & Payment
TIDNO = 'Z080'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-TERMS = mslines-tdline(50).
EXIT.
ENDLOOP.
APPEND T_ADRS.
*BODY SECTION FOR LINE ITEMS
SELECT POSNR KWMENG VRKME WAERK
INTO (VBAP-POSNR, VBAP-KWMENG, VBAP-VRKME, VBAP-WAERK)
FROM VBAP
WHERE VBELN = SSORD.
*Mark/Case No
TIDNO = '0002'.
CONCATENATE SSORD
VBAP-POSNR
INTO TNAME.
TOBJT = 'VBBP'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
WA_ITEM-MARKNO = mslines-tdline(40).
EXIT.
ENDLOOP.
*Packing Type
TIDNO = '0003'.
CONCATENATE SSORD
VBAP-POSNR
INTO TNAME.
TOBJT = 'VBBP'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
WA_ITEM-PACKTYP = mslines-tdline(40).
EXIT.
ENDLOOP.
*Goods Description
TIDNO = '0001'.
CONCATENATE SSORD
VBAP-POSNR
INTO TNAME.
TOBJT = 'VBBP'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
WA_ITEM-PACKTYP = mslines-tdline(40).
EXIT.
ENDLOOP.
*Goods Quantity
WA_ITEM-QTY = VBAP-KWMENG.
WA_ITEM-VRKME = VBAP-VRKME.
*Goods Rate
SELECT SINGLE KNUMV INTO VBAK-KNUMV FROM VBAK WHERE VBELN = SSORD.
SELECT SINGLE KBETR WAERS
INTO (WA_ITEM-RATE, WA_ITEM-WAERS)
FROM KONV
WHERE KNUMV = VBAK-KNUMV
AND KPOSN = VBAP-POSNR
AND KSCHL = 'PR00'.
*Goods Amount
WA_ITEM-AMOUNT = WA_ITEM-QTY * WA_ITEM-RATE.
WA_ITEM-WAERK = VBAP-WAERK.
TOT = TOT + WA_ITEM-AMOUNT.
APPEND WA_ITEM TO T_ITEM.
ENDSELECT.
T_ADRS-TOT = TOT.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = TOT
CURRENCY = VBAP-WAERK
FILLER = ' '
LANGUAGE = SY-LANGU
IMPORTING
IN_WORDS = WORD
EXCEPTIONS
NOT_FOUND = 1
TOO_LARGE = 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.
T_ADRS-TOT_WORDS = WORD-WORD.
APPEND T_ADRS.
START-OF-SELECTION.
<b> SET PF-STATUS '1000'.</b>
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'Z_SD_REP_MULTI_PRINT'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = 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.
P_LANGUAGE = 'EN'.
CALL FUNCTION 'SSF_GET_DEVICE_TYPE'
EXPORTING
I_LANGUAGE = P_LANGUAGE
I_APPLICATION = 'SAPDEFAULT'
IMPORTING
E_DEVTYPE = P_E_DEVTYPE.
P_OUTPUT_OPTIONS-XSFCMODE = 'X'.
P_OUTPUT_OPTIONS-XSF = SPACE.
P_OUTPUT_OPTIONS-XDFCMODE = 'X'.
P_OUTPUT_OPTIONS-XDF = SPACE.
P_OUTPUT_OPTIONS-TDPRINTER = P_E_DEVTYPE.
P_OUTPUT_OPTIONS-TDDEST = 'LOCL'.
APPEND P_OUTPUT_OPTIONS.
P_CONTROL_PARAMETERS-NO_DIALOG = 'X'.
P_CONTROL_PARAMETERS-GETOTF = 'X'.
P_CONTROL_PARAMETERS-NO_CLOSE = SPACE.
APPEND P_CONTROL_PARAMETERS.
CALL FUNCTION FM_NAME
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS = P_CONTROL_PARAMETERS
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS = P_OUTPUT_OPTIONS
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO = P_JOB_OUTPUT_INFO
JOB_OUTPUT_OPTIONS =
TABLES
T_ADRS = T_ADRS
T_ITEM = T_ITEM
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.
<b>AT USER-COMMAND.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN 'ARCHIVE'.</b>
CALL FUNCTION 'CONVERT_OTF_2_PDF'
EXPORTING
USE_OTF_MC_CMD = 'X'
ARCHIVE_INDEX =
IMPORTING
BIN_FILESIZE = P_BIN_FILESIZE
TABLES
OTF = P_JOB_OUTPUT_INFO-OTFDATA
DOCTAB_ARCHIVE = P_DOC
LINES = P_LINES
EXCEPTIONS
ERR_CONV_NOT_POSSIBLE = 1
ERR_OTF_MC_NOENDMARKER = 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 'WS_DOWNLOAD'
EXPORTING
BIN_FILESIZE = P_BIN_FILESIZE
CODEPAGE = ' '
FILENAME = 'C:\sd.pdf'
FILETYPE = 'BIN'
MODE = ''
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
COL_SELECT = ' '
COL_SELECTMASK = ' '
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH = P_BIN_FILESIZE
TABLES
DATA_TAB = P_LINES
FIELDNAMES =
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
NO_AUTHORITY = 10
OTHERS = 11
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
<b>ENDCASE.</b>
*& Form FINDTEXT
text
FORM FINDTEXT.
REFRESH mslines.
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = tidno
language = sy-langu
name = tname
object = tobjt
TABLES
lines = mslines
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
DELETE mslines WHERE tdline IS INITIAL.
ENDFORM. "FINDTEXT
Message was edited by: md monirujjaman
Message was edited by: md monirujjaman
Message was edited by: md monirujjamanHello,
You cannot get continuous page numbers, But you will be able to merge all the 4 form outputs into one PDF file.
In yesterdays example you called one form, then converted OTF data into PDF data and downloaded on Presentation server.
In this case, after you call first form, you get the OTF data. Push this OTF data into a MAIN Internal table ( Same type as of OTF dada Int TAB ). Then Call second form. Then you get second set of OTF data. This second set of OTF data may be appended to the MAIN Internal table and the follw same procedure for the rest of the forms. In the end you will have one Internal table which holds OTF data of all the 4 forms.
Now convert the OTD data to PDF Data by the FM and Download one file which has output of all the 4 forms.
I hope my explanation is quite clear.
Regarding your second question, the Archive and Print and archive buttons on the PRINT PREVIEW screen works for Spool archiving which is to be enabled by customizing. If you wish to archive the output as PDF, you may have to do it in program.
I am NOT accessible on YAHOO.
Plz let me know if you are stuck.
Regards, Murugesh AS -
SmartForms: Purchase order Print prog and SLIN
Hi all,
I am on 4.7 and Purchase Order Print Prog name is /SMB10/FM06P. When i am doing SLINE Check on this Prog. I am getting the following Message.
Program: /SMB10/FM06P Row: 1
The namespace of program /SMB10/FM06P has the setting "C" and cannot be tested.
A possible cause for this is that an SAP program is being checked in a customer
system.
Note, the following rule applies after a change in the source code:
For testing the namespace setting is ignored for one week
(The message cannot be hidden using pseudo-comment "#EC .., or by using SET
EXTENDED CHECK OFF/ON)
Is any one have idea about this?
Thanks in advnace.Thanks for your Reply,
When i am doing Syntax check in SE38, I am getting the below error message.
<b>"The Program "/SMB10/FM06P" is not Unicode-compatible, according to its program attributes."</b>
I have found the OSS Note No: 751007
Solution
Copy the program into your own namespace (e.g "ZZsmbfm06p"), maintain the program attribute to make sure the flag "Unicode checks active" is selected. Then maintain the customizing for output control again.
<b><u>
GOD BLESS SAP, SAP asking to Create Custom Object.</u></b>
Thanks
Message was edited by: Vipin Nagpal
Message was edited by: Vipin Nagpal -
Contents of a custom print program for a custom smartform
Hi...
Can you please tell me if we are writing a custom print program from scratch for a custom smartform for which there is no standard form available what are all the things that need to be coded in the print program..
My doubts on this are if we are configuring this form for output types of PO purchase order for mediums 1,2, 5 and 6 does any extra coding need to be done in the print program that is related to these mediums or is it just a configuration issue..
Apart from data retrieval part and call the function modules to send the data to smartforms what are the other things that we need to code in a custom smartform.. Anything that we need to code related to printing issues..
It would be great if someone can post a custom print program for any output type valid for mediums 1, 2, 5 and 6.
Also my last doubt is do we need to do anything in SE11 in designing a smartform and in what context do we need it...
Thanks and appreciate your help... Surely will reward for all the helpful answers..
Thanks again..
Kanthi..Hi,
yes you need to create your own print program. You need to catch printing information and to send data to your smartforms.
To send data to your smartforms you need to use structure describe in the data dictionnary.
This is a peace of code for sending information to a smartform that will be print used an external program (Esker)
DATA: it_data LIKE TABLE OF zssf_bl WITH HEADER LINE,
w_formname TYPE tdsfname ,
w_fm_name TYPE rs38l_fnam ,
is_output TYPE ssfcompop ,
is_control TYPE ssfctrlop ,
is_job_out TYPE ssfcresop .
* Récupère le nom du module fonction.
MOVE 'Z_BL_STT' TO w_formname.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = w_formname
IMPORTING
fm_name = w_fm_name
EXCEPTIONS
OTHERS = 3.
* Prépare les paramètres d'impression.
is_output-xsfcmode = 'X'.
is_output-xsf = 'X'.
is_output-xsfoutmode = 'S'.
is_output-xsfoutdev = 'DOCL'.
is_output-xsfformat = 'X'.
is_output-tdnoprev = 'X'.
is_output-tdnoprint = ' '.
is_output-tddest = 'DOCL'.
is_output-tdprinter = 'PLAIN'.
is_output-tdnewid = 'X'.
is_output-tdimmed = 'X'.
is_output-tddelete = 'X'.
is_control-no_dialog = 'X'.
is_control-preview = ' '.
is_control-no_open = 'X'.
is_control-no_close = ' '.
* Prepare le formulaire
CALL FUNCTION 'SSF_OPEN'
EXPORTING
user_settings = ' '
output_options = is_output
control_parameters = is_control
IMPORTING
job_output_options = is_job_out
EXCEPTIONS
OTHERS = 5.
* Appels du formulaire.
CALL FUNCTION w_fm_name
EXPORTING
control_parameters = is_control
output_options = is_output
is_bl = zbl_soustrait
TABLES
it_data = it_data
EXCEPTIONS
OTHERS = 5.
You need to catch information from the NAST table maybe
Rgd
Frédéric -
Custom SmartForm for Purchase Order Printing
Hi,
I need a customized smartform for purchase order, which is called after the standard transaction ME9F.
I adjusted "Conditions for Output Control" by using transaction NACE ( Erased the name of the form MEDRUCK, Entered my customized smartform's name under smartform Form part and chose the type as smartform )
However, I couldn't success to see my printview whereas I continued to see the printview of Medruck.
I'd searched for the problem through here and the net, I found some names of smartforms such as: /SMB40/MMPO_L and /SMB40/MMPO_A and their driver programs like: /SMB40/FM06P . The package which consists of these elements was mentioned as " /SMB40/ "... but despite I downloaded it, my system still doesn't have the elements.
So, how can I use my own purchase order smartform or if i need the forms mentioned, in which best practice package i can find them?
SAP ECC 6.0
SAP_APPL 604
SAP_BASIS 701
Thanks in advance,Hi,
If your SAP doesnt have a standard smartform for PO, it is quite complicated to use smarform rather than sapscript.
I guess that you will need to modify the program SAPFM06P that calls the sapscript and make it call the smartform.
I will take a few time to adapt the sapscript.
Regards
Miguel -
Can anybody plz give me Smartforms print prog for Invoice/PackList
Hello Smartforms Gurus
Can anybody plz give me Smartforms print prog for Invoice/Packing List. I need to develop the same from scratch. I know Smartform for simple Application but complex application i need to refer u all guys prog plz.
I would be greatful plz.
Thnx In AdvanceHi,
Could you please give me the link where you found these group of pre-configured smartforms available in sap labs?
I looked for... but i have not founded it.
Thanks in advance!.
Regards,
Albio.- -
How to use standard print prog SAPFM06P in an ECC 6.0 environment?
Dear all,
I am working in an Upgrade proj, and I find this print prog SAPFM06P remarkably different in both the systems 4.6C & ECC 6.0. It seems the ECC 6.0 print program is configured for an Adobe form.
But the requirement I have is that of printing a custom SAP Script through either this standard print program SAPFM06P or a copy of the same. How do I go about in making this print program adaptable to calling a SAP Script instead of an Adobe form ?
Will greatly appreciate a quick response on this.
Thanks a dozen!
Aradhana.Actually there are many includes in this standard print program SAPFM06P that have been commented out by SAP in this new version ECC 6.0.
I could make it work with the configuration of the message in NACE, but my concern is whether I would be able to incorporate all the functionality that those includes have.
Do let me know your thoughts on this.
Thanks! -
Attach customized smartform in IW32
Dear Experts,
I need to copy the standard smartform to a customized one and make some changes and attach it. The already attached form is a PM_COMMON which is a script.
1. Is there any smarform, if yes then what?
2. How can I attach standard driver program with the customized form? Will it get attached automatically if the write customized smartform name in the form below?
Regards
ManiHi Mani,
you can copy driver program RIPRCT00 to zRIPRCT00 something. and comment
PERFORM main_print. from this driver program. once you comment this Perform then your SAP script part will be disconnect from this.
you can add new perform after PERFORM order_data_import and add your SSF code here like below reference code.
-tdcopies = wworkpaper-tdcopies. " copies
lwa_outputop-tdnewid = wworkpaper-tdnewid. " new spool entry
lwa_outputop-tdimmed = wworkpaper-tdimmed. " immediately
lwa_outputop-tddelete = wworkpaper-tddelete. " delete after
lwa_outputop-tdcover = wworkpaper-tdcover. " cover page
lwa_outputop-tdcovtitle = wworkpaper-tdcovtitle. " title for cover
lwa_outputop-tdreceiver = wworkpaper-tdreceiver. " report to ->
lwa_outputop-tdarmod = wworkpaper-tdarmod. " Archive mode
lwa_outputop-tdtelenum = wworkpaper-tdtelenum.
lwa_outputop-tdteleland = wworkpaper-tdteleland.
IF NOT wworkpaper-print_lang IS INITIAL.
*... reset the default print_language with a specific language
*... if it was set in t390_u or set on the paper selection screen
print_language = wworkpaper-print_lang.
ELSE.
print_language = original_print_language.
ENDIF.
*... should a print record be written later.
IF device = c_screen
OR device = c_preview.
dont_log = yes.
ELSE.
dont_log = space.
ENDIF.
IF device = c_preview. " special print preview option
* itcpo-tdpreview = yes.
* itcpo-tdnoprint = yes. " no sneaky printing from SAPSCRIPT
lwa_outputop-tdnoprev = ''.
lwa_outputop-tdnoprint = 'X'.
ELSE.
* itcpo-tdpreview = space. " make sure preview is off otherwise
lwa_outputop-tdnoprev = 'X'.
ENDIF.
*$*$ ARCHIVE LINK
g_toa_dara_tab-function = c_dara. "archive function
g_toa_dara_tab-sap_object = archive_type. "Order or Notification
g_toa_dara_tab-ar_object = t390-ar_object. "arch object
g_toa_dara_tab-object_id = object_id. " order or notif number
g_toa_dara_tab-mandant = t390-mandt.
g_arc_params_tab-sap_object = archive_type. "Order or Notification
g_arc_params_tab-ar_object = t390-ar_object.
g_arc_params_tab-mandant = t390-mandt.
g_arc_params_tab-report = t390-abapname.
*-> SY fields not available in update task
g_arc_params_tab-arcuser = sy_uname.
g_arc_params_tab-datum = sy_datum.
lwa_ssfctrlop-no_dialog = 'X'.
lwa_ssfctrlop-preview = 'X'.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = lc_fname "'ZPMEU_MAINTN_JOB'
IMPORTING
fm_name = lw_fmname
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 lw_fmname
EXPORTING
archive_index = g_toa_dara_tab
archive_parameters = g_arc_params_tab
control_parameters = lwa_ssfctrlop
output_options = lwa_outputop
* USER_SETTINGS = 'X' "space'
caufvd = caufvd
riwo1 = riwo1
iloa = iloa
iviqmel = iviqmel "FSTS1628
TABLES
iaffhd = iaffhd
op_print_tab = op_print_tab
kbedp_tab = kbedp_tab
ihpad_tab = ihpad_tab
ihsg_tab = ihsg_tab
ihgns_tab = ihgns_tab
iafvgd = iafvgd
iripw0 = iripw0
iresbd = iresbd.
same reference code you can call in your samrtform.
Please try to this way for your development. It may be helpful for you.
Regards,
Prasenjit -
Smartform in LT31 Transfer Order Printing
Hi,
I have designed a smartform in LT31 Transfer Order Printing for SU Contents .
I have to inclued in it user exit MWMD0001.
I have an requirement in abap and I need more details on what exactly to modify in the program.
What modifications should I make in exit_rlvsdr40_001?
I need to print fields from tables ltap, ltak, rl03t, and mean.
Your help will be greatly appreciated with required code,if anyone implemented before.
Regards
Manohar SI worked on same requirement LT31 Transfer Order Pick list. For Form configuration part Functional consultants will do in spro--->Warehouse management.
They assigned a paricular warehouse number to this form. Weather it is multiple / single TO.
Design a smartform and goto se38, give it program name : RLVSDR40.
In this program find user exit 'CALL CUSTOMER '001'.
when ever u double click on this exit. This will take to function module exit. i.e. RLVSDR40 . Here include, we have to call the smartform function module.
let me know , any clarrification required.
Regards,
Vishvesh. K -
Passing data to custom smartform from a custom program...
Hello Gurus,
Since, the function module gets generated dynamically at runtime when smartform is activated, I know that first I should use "SSF_FUNCTION_MODULE_NAME" and pass custom smartform name to it to get the name of function module. Then I have to use call function '/XXXXXXXXX'.
Now, I am writing a custom code and I want the data from my select program in custom program to be passed to smartform ? How can I pass the data from my custom program to smartform ? Do I pass it before using function module "SSF_FUNCTION_MODULE_NAME" ? If yes, how ?
Regards,
Rajesh.hi,
u have to declare ur structures in form interface and can retrive the data from custom program.
check this sample code.
declare structure in interface.
WA_MKPF TYPE MKPF.
write ur custom code lik this.
DATA: wahz TYPE zmemigo_form_header,
wa_mkpf TYPE mkpf.
DATA: t_itemz LIKE zmemigo_form_item OCCURS 0,
t_mseg TYPE mseg OCCURS 0,
waitemz TYPE zmemigo_form_item,
waitem TYPE mseg.
DATA : form_name TYPE tdsfname VALUE 'ZPS_STN'.
DATA : fnc_module TYPE rs38l_fnam.
SELECT SINGLE mblnr INTO wa_mkpf-mblnr FROM mseg
CLIENT SPECIFIED WHERE mandt EQ sy-mandt
AND mblnr EQ p_mblnr
AND mjahr EQ p_mjahr
AND bwart EQ '351'
AND shkzg EQ 'H'.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = form_name
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
fm_name = fnc_module
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 fnc_module
EXPORTING
wa_headz = wahz
wa_mkpf = wa_mkpf
TABLES
it_itemz = t_itemz
it_mseg = t_mseg
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. -
Configure HRFORMS to call a custom Smartform.
Hello All-
We have a custom Payroll Form created in PE51 and we have a custom smartform which uses this custom payroll form.
By using TCode HRFORMS can we configure to call a custom smartform. If so can you please let me know how? Or do you have a document of how to use HRFORMS please let me know.
Thanks-
Chakri.
Edited by: chakri somisetti on Jul 1, 2008 4:54 PMHi Chakri,
I think PE51 forms are different from what you do from HRFORMS...
PE51 uses a intermediate config table which can be maintained via PE51_CHECKTAB tcode. It allows you
to configure what data to print at waht position and other formatting options. You can enhance std. print program behind the form class (CEDT etc ) to select any custom data and print it on the form.
HRFORMS - you create a form here and choose the pre-prepared data strctures - here the front form can be a smart from or form builder (PDF forms - tcode SFP). IF you create a form from HRFORMS it will generate the underlying form and print program for you. You can then modify this form as per your requirements...
I dont have much knowledge on how to use that Infostars/info dimensions of HRFORMS. may be you can look at a standard from or search in the forums. I am sure you will find some useful info...
hope this helps
thanks -
RFDUZI00 Print Prog. extra functionality, Wht data is migrating?
Hi,
In ECC6.00 version SAP has given a extra funtionality of "Data Migration" in the program RFDUZI00 (Print prog for printing the SAP Script of "Notice sent to customers for charged interest amounts for their late due payment").
SAP is achieving this Data migration functionality by calling the FM FI_INTITHE_WRITE_FOR_MIGRATION, fine. But, I did not understand that, actually, What is SAP doing? where its writing the data(i guess the data is customer open items)? where its migrating? is it to data base?
I have seen WHERE USED LIST of this FM, I went into this FM and tried to understand, actually whts SAP doing inside this FM, I tried to pull the FM documentation, in Google as well, but nothing is success!! So, pls. let me know it.
Thank youHave a look at OSS Note 670117 (the number is mentioned a few times in RFDUZI00) to get the context of the SAP changes... if you look at the code in FI_INTITHE_WRITE_FOR_MIGRATION you can see it is modifying tables INTITHE (FI Item Interest Calculation: Information per Item) and INTITIT (FI Item Interest Calculation: Details).
Jonathan -
Not getting the tax details in me23n using custom smartform
Hi to all,
I am useing bapi to get the details of service order and printing the details in my custom smartform which is assigned in me23n. My problem is i am getting all the details like line item and all related but not the tax details. I need to print the net amount which is net amount + tax . Can any one help me in this regards.Use function module CALL FUNCTION 'CALCULATE_TAX_ITEM'
EXPORTING
dialog = lc_n
display_only = lc_x
i_taxcom = lwa_taxcom
IMPORTING
E_NAVFW =
e_taxcom = lwa_taxcom
E_XSTVR =
nav_anteil = lv_taxamt
TABLES
t_xkomv = lt_komv
EXCEPTIONS
mwskz_not_defined = 1
mwskz_not_found = 2
mwskz_not_valid = 3
steuerbetrag_falsch = 4
country_not_found = 5
OTHERS = 6
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
LT_KOMV will return the tax related data.
Nabheet -
Customer Item Open Interface Validation
Hi Folks,
I have to write package for customer item open interface ,
can anyone let me know what are the validation required or if any one have package written ,please share it with me .[email protected]
Waiting for your kind response.
Thanks in advance....
Regards
RPHi
Please find the code below for Customer Item Interface
HTH
Dinesh
declare
ex_not_ok exception ;
Cursor cur_cust_item is
select b.*,rowid from btl_cust_item b ;
rec_cur_cust_item cur_cust_item%rowtype;
vc_rowid varchar2(50);
vc_error_desc varchar2(2000);
vc_org_code varchar2(20) :='F02';
vc_org_id varchar2(20) ;
vc_inv_item number ;
vc_cust_id varchar2(50) ;
vc_create_by number;
vc_last_updated_by number;
vc_user_name varchar2(100);
vc_login_name varchar2(30) := '&1';
vc_master number;
begin
vc_org_id := &2 ;
vc_master := &3;
begin
select user_id ,last_updated_by ,user_name
into vc_create_by ,vc_last_updated_by , vc_user_name
from fnd_user
where user_name = vc_login_name;
end;
open cur_cust_item; -- open cursor
loop
begin
fetch cur_cust_item
INTO rec_cur_cust_item;
vc_rowid := rec_cur_cust_item.rowid;
exit when cur_cust_item%NOTFOUND;
-- perform the mandatory validations
-- 1. Check the validity of the customer
begin
select count(*)
into vc_cust_id
from ra_customers
where upper(customer_number) = upper(rec_cur_cust_item.customer_number);
if vc_cust_id > 0 then
null;
else
vc_error_desc := rec_cur_cust_item.customer_number||' '|| rec_cur_cust_item.customer_name ||' - Customer Number Does not Exist in Ra_customers';
raise ex_not_ok;
end if;
exception
when no_data_found then
update btl_cust_item
set process_flag = 'E',
error_message = 'XREF- Customer Does not exist '||vc_error_desc
where rowid = vc_rowid;
end ;
-- 2. Check that the Customer Item Is not Null
begin
if rec_cur_cust_item.customer_item_number is not null then
null;
else
vc_error_desc := rec_cur_cust_item.Customer_Number ||' - '|| rec_cur_cust_item.customer_item_number || ' - Customer Item has no value ';
raise ex_not_ok;
end if;
end;
-- 3. Validate the Inventory Item
begin
select count(*)
into vc_inv_item
from mtl_system_items a, org_organization_definitions b
where a.organization_id = b.organization_id
and rec_cur_cust_item.inventory_item = segment1
and a.organization_id = vc_org_id;
if vc_inv_item != 0 then
null;
else
vc_error_desc := 'Inventory Item '|| rec_cur_cust_item.inventory_item ||' is not valid/exist in mtl_system_item ';
raise ex_not_ok;
end if;
end;
rec_cur_cust_item.commodity_code := 'MISC';
insert into mtl_ci_interface (
PROCESS_FLAG ,
PROCESS_MODE ,
TRANSACTION_TYPE ,
CUSTOMER_NUMBER ,
CUSTOMER_NAME ,
CUSTOMER_ITEM_NUMBER ,
ITEM_DEFINITION_LEVEL ,
COMMODITY_CODE ,
INACTIVE_FLAG ,
LOCK_FLAG ,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
CREATION_DATE ,
CREATED_BY ,
--LAST_UPDATE_LOGIN ,
ERROR_CODE ,
ERROR_EXPLANATION
values
'1' , --PROCESS_FLAG
'1' , --PROCESS_MODE
'CREATE' , -- TRNASACTION_TYPE
rec_cur_cust_item.customer_number , --CUSTOMER_NUMBER
rec_cur_cust_item.customer_name , --CUSTOMER_NAME
rec_cur_cust_item.customer_item_number, --CUSTOMER_ITEM_NUMBER
'1' , --ITEM_DEFINATION_LEVEL
rec_cur_cust_item.commodity_code , --COMMODITY_CODE
'2' , --INACTIVE_FLAG
'N' , --LOCK_FLAG
sysdate , --LAST_UPDATE_DATE
vc_last_updated_by , --LAST_UPDATED_BY
sysdate , --CREATION_DATE
vc_create_by , --CREATED_BY
--'10' , --LAST_UPDATE_LOGIN
'N' , --ERROR_CODE
' ' --ERROR_EXPLANATION
Insert into mtl_ci_xrefs_interface (
PROCESS_FLAG ,
PROCESS_MODE ,
TRANSACTION_TYPE ,
CUSTOMER_NUMBER ,
CUSTOMER_NAME ,
CUSTOMER_ITEM_NUMBER ,
ITEM_DEFINITION_LEVEL ,
INVENTORY_ITEM ,
MASTER_ORGANIzATION_ID ,
PREFERENCE_NUMBER ,
INACTIVE_FLAG ,
LOCK_FLAG ,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
CREATION_DATE ,
CREATED_BY ,
--LAST_UPDATE_LOGIN ,
ERROR_CODE ,
ERROR_EXPLANATION
Values
'1' , --PROCESS_FLAG
'1' , --PROCESS_MODE
'CREATE' , --TRNSACTION_TYPE
rec_cur_cust_item.customer_number, --CUSTOMER_NUMBER
rec_cur_cust_item.customer_name , --CUSTOMER_NAME
rec_cur_cust_item.customer_item_number, --CUSTOMER_ITEM_NUMBER
'1' , --ITEM_DEFINATION_LEVEL
rec_cur_cust_item.inventory_item, --INVENTORY_ITEM
vc_master , --MASTER_ORGANISATION_ID
'1' , --PREFERENCE_NUMBER
'2' , --INACTIVE_FLAG
'N' , --LOCK_FLAG
sysdate , --LAST_UPDATE_DATE
vc_last_updated_by , --LAST_UPDATED_BY
sysdate , --CREATION_DATE
vc_create_by , --CREATED_BY
--'10' , --LAST_UPDATE_LOGIN
'N' , --ERROR_CODE
' ' --ERROR_EXPLANATION
--dbms_output.put_line( ' Inserting into reference table - done');
exception
when ex_not_ok then
update btl_cust_item
set process_flag = 'E',
error_message = 'XREF-'||vc_error_desc
where rowid = vc_rowid;
end ;
end loop;
commit;
begin
dbms_application_info.set_client_info(' ');
end;
dbms_output.put_line ( ' End time ' || to_char( sysdate, 'DD-MON-YYYY HH24:MI:SS'));
exception
when others then
dbms_output.put_line( Sqlcode || ' ' || Sqlerrm );
end ;
/ -
Does anyone know what the Lock_flag is for the customer item open interface and what it should be set to when creating customer items? It is a required field but it is not explained in the 11.5.9 documentation.
Hi
I didn't find this flag in TRM of 11.5.10. In what table did you find it?
Regards,
Ricardo Cabral
Maybe you are looking for
-
Is there a way to preview an illustrator (.ai) file on the ipad
I know natively the ipad can't, but are there apps that can do that? Have been searching on google, but can't seem to find an answer thanks! andrew
-
Maximum open cursors exceeded problem
hi, I am connecting to Oracle 8i (8.1.6 ) using JDBC2.0. I have a block of code which does the following: Open connection to database, create a Statement object say stat and a Prepared Statement object say pStat pStat.execute() while(condition) stat.
-
Premiere, Audition and Photoshop of this suite crash many times even before they fully start. I have all updates. I have 64 bit system with a Nvidia Quadro 600 video card. CS5.5 seems to work better with the same programs. What can it be that causes
-
Update to 10.4.3 now hangs my system all the time -- how do I fix this?
I've read so many threads in these forums. I've run repair disk / Disk Utility, I've run repair permissions/Disk Utility, I've run Cocktail's Pilot daily, even hourly, and restarted each time in order to remove cache files and STILL I have my system
-
Where can I buy a iPhone 4s car charger at Bangalore
Where can I buy a car charger for iPhone 4s charger at Bangalore and how much does it cost