Stuck Smartforms !!
I get text using the read text FM in Smartforms into an Internal table of type TLINE.
Then I create a Loop node and loop the contents into a structure of type TLINE . In the loop node i create a Text node and try to display the content of the structure : & wa_txt-tdline &. On the form when i got to print preview it prints '& wa_txt-tdline &' as it is and is not prinitng the value .
I also debugged to see it the wa_txt gets populated ..and i found that it does have the value .
Can anyone tell the solution to this .
Thanks
Hi
You have inserted the variable uncorrectly, so for the smartforms it's a text not a variable.
Use the old text editor and check how the line is, it should be:
&wa_txt-tdline&
but I believe it's: <(>&<)>&wa_txt-tdline&<(>&<)>
Max
Message was edited by: max bianchi
Similar Messages
-
Smartforms issue urgentttt....
Hi All,
This is a very urgent scenario which need to be resolved as soon as possible. Please go through the following.
I am trying to take a print of philippines TDS form using a transaction S_P00_07000134 - Generic Withholding Tax Reporting. After entering the values related to philippines and selecting form tab when i view the print, i find only vendor and payor details in the form not the line items which are visible in report.Could you please update me on this scenario as we are in GOLIVE phase. The Form name is IDWTCERT_PH_2307.
TCode: S_P00_07000134 - Generic Withholding Tax Reporting
Input Values
Process type: std
Output Group:ph2
Country Key:ph
Reporting Period:01.04.2008 to 22.04.2008
Company Code: 1100
Vendor:600001
In forms tab
Selected Print Form1
Number of copies: 1
Output Device: local
execution of this values(F8)
selected print or print preview
output will be displayed or printed with out line items and when we press back we find the regular report with line items.
Could anyone give me the solution it is very urgent....
regards
PSNGI am able to do this part.What is getting stuck is that i have say 5 totals with me and i pass to internal table then how can i fetch from smartform.If i create a structure for this internal table either way doesnot work i tried F1 like bseg-dmbtr and mseg-menge ie amount in currency as well as menge i tried.Failure occurs in smartforms as it fails to recognize the field itself.
-
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 -
How can I solve these in smartforms
Hi,
I am stuck with the below issues.
1. I want to email or fax a smartform.Can I get these features if I copy the standard program.If no, what additional changes do I need to incorporate.
2. I will have main line items like 10, 20, 30 etc in the service sales order. and sub items like 11, 12, 13 etc in each of them.
If user selects 10, I will need to fetch the info of respective 11.How do I get te link between those both.
3. I want to print a scissors SAP Icon along with the dotted line.I managed to insert this sap symbol (it shows as 869).But I dont see this in the o/p.
Any clues on the above please.
Thanks
KiranKiran,
1.It can be done.Convert the Smartform into PDF and send it through mail.Lot many snippets are available in SCN on how to convert a smartform to pdf and sending it through mail.Fax I have no idea,but it can be done too.
3. Did you checked the Print output? I guess it can't be seen in the Print preview but only in the output..
K.Kiran. -
Problem in smartform driver program
hi all,
i was stuck with an error while executing a smartform, th e report output is comming for some documents but it is not comming for some documents and it is showning the exceptions as 2
in function module SSFCOMP_PROCESS_DOCUMENT while calling the form my code is like this..
LOOP AT ITAB.
AT FIRST.
CONTROL_PARAMETERS-NO_CLOSE = 'X'.
ENDAT.
AT LAST.
CONTROL_PARAMETERS-NO_CLOSE = SPACE.
ENDAT.
IF RAD1 EQ ' '. " rad1 is for print , rad 2 is for pdf download.
CONTROL_PARAMETERS-NO_DIALOG = 'X'.
CONTROL_PARAMETERS-PREVIEW = ' '.
CONTROL_PARAMETERS-GETOTF = 'X'.
OUTOP-TDDEST = 'LP01'.
CALL FUNCTION FNAME
EXPORTING
CONTROL_PARAMETERS = CONTROL_PARAMETERS
OUTPUT_OPTIONS = OUTOP
USER_SETTINGS = ''
V_VBELN = ITAB-VBELN
V_PRIOR_INVAMT = V_PRIOR_INVAMT
V_CUR_PO_TOT = V_CUR_PO_TOT
I_GST = I_GST
I_QST = I_QST
I_HST = I_HST
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO = TAB_OTF_DATA
JOB_OUTPUT_OPTIONS =
TABLES
T_FINAL = T_FINAL
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.
TAB_OTF_FINAL[] = TAB_OTF_DATA-OTFDATA[].
ELSE.
*********errror triggering from the below function module after else.........
CONTROL_PARAMETERS-NO_DIALOG = 'X'.
CONTROL_PARAMETERS-PREVIEW = 'X'.
CONTROL_PARAMETERS-GETOTF = 'X'.
OUTOP-TDDEST = 'LP01'.
CALL FUNCTION FNAME
EXPORTING
CONTROL_PARAMETERS = CONTROL_PARAMETERS
OUTPUT_OPTIONS = OUTOP
USER_SETTINGS = 'X'
V_VBELN = ITAB-VBELN
V_PRIOR_INVAMT = V_PRIOR_INVAMT
V_CUR_PO_TOT = V_CUR_PO_TOT
I_GST = I_GST
I_QST = I_QST
I_HST = I_HST
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO = TAB_OTF_DATA
JOB_OUTPUT_OPTIONS =
TABLES
T_FINAL = T_FINAL
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.
ENDIF.
please help me it is telling that as internal error for the exception 2.
regards,
venkatHi,
I m Deepak, i getting the same error while running print prog.
When i debuged the smartform i get the return code sy-subrc = 1
in internal function module SSFCOMP_PROCESS_DOCUMENT in smartform function module.
And the error i m getting is - Field #13; does not exist in form.
How can i solve this problem.
Please guide me regarding this as u already solved it.
Regards,
Deepak. -
Printing Smartform for a series of data
hello People,
i am stuck up in a situation which sums up like this
i am having a range of check numbers for which the details of checks have to be printed.
the req is all the check between the range has to be printed in that many pages and printer should be assigned once only
that is for 10 checks smartform should have 10 pages.
the code i have designed is mentioned below
it is working fine in terms of execution, the only problem is that
only the last check in the range is showing in the preview.
all other are bieng overwritten.
in the debugger i can see the values for all checks being assigned.
<u><i><b>the thing is i want the first time the loop execute it should print check in first page
the next time the loop executes it should print check in second page
and so on till the tenth.</b></i>.</u>
<b>few points i wud lik to mention :
its not the standard check format, so dont think in dat direction,
the whole content including the main and secondary window is changing not just the table in main window</b>
please help
here is the code i devised
upper = upper.
lower = lower.
itab = itab.
select chect
from payr
into table itab
where HBKID EQ BANK
AND CHECT between lower and upper.
break-point.
DATA: l_char18 TYPE char18,
l_p TYPE p DECIMALS 2.
loop at itab into wa_itab.
SELECT SINGLE zbukr
hbkid
hktid
rzawe
chect
lifnr
kunnr
ubhkt
vblnr
zaldt
waers
rwbtr
pridt
zanre
znme1
FROM payr
INTO wa_payr
WHERE chect EQ wa_itab-chect
and hbkid eq bank.
IF sy-subrc EQ 0.
SELECT SINGLE lifnr
adrnr
FROM lfa1
INTO wa_lfa1
WHERE lifnr EQ wa_payr-lifnr.
SELECT SINGLE addrnumber
date_from
nation
name1
name2
name4
city1
post_code1
po_box_loc
street
tel_number
region
FROM adrc
INTO wa_adrc
WHERE addrnumber EQ wa_lfa1-adrnr.
SELECT bukrs
belnr
gjahr
buzei
augbl
shkzg
mwskz
dmbtr
qbshb
FROM bseg
INTO TABLE it_bseg
WHERE augbl EQ wa_payr-vblnr
AND shkzg = 'H'.
IF sy-subrc EQ 0.
SELECT bukrs
belnr
gjahr
xblnr
FROM bkpf
INTO TABLE it_bkpf
FOR ALL ENTRIES IN it_bseg
WHERE belnr = it_bseg-belnr.
LOOP AT it_bseg INTO wa_bseg.
READ TABLE it_bkpf INTO wa_bkpf
WITH KEY belnr = wa_bseg-belnr.
wa_disp-billno = wa_bkpf-xblnr.
wa_disp-amount = wa_bseg-dmbtr.
l_char18 = wa_bseg-dmbtr.
SHIFT l_char18 LEFT DELETING LEADING space.
wa_disp-amount = l_char18.
l_p = wa_disp-amount.
CLEAR wa_disp-amount.
wa_disp-amount = l_p.
CLEAR l_p.
SHIFT wa_disp-amount LEFT DELETING LEADING space.
wa_disp-tdsamt = wa_bseg-qbshb.
l_char18 = wa_bseg-qbshb.
SHIFT l_char18 LEFT DELETING LEADING space.
wa_disp-tdsamt = l_char18.
l_p = wa_disp-tdsamt.
CLEAR wa_disp-tdsamt.
wa_disp-tdsamt = l_p.
CLEAR l_p.
SHIFT wa_disp-tdsamt LEFT DELETING LEADING space.
APPEND wa_disp TO it_disp.
CLEAR wa_disp.
ENDLOOP.
ENDIF.
ELSE.
MESSAGE 'Entered Cheque No is Incorrect' TYPE 'E' RAISING exc1.
ENDIF.
endloop.
help people
thanks & regards
Nitinhi Nitin
just give a try with this .
create one loop and for that give your int_tab which holds the records of all the checks say 10 checks.
also create one program lines wherein you l set the flag to 1 whenever the itab count increases if not then set the flag to 0.
now inside the main window create one command node and check the go to new page checkbox and give your second(or next page) name , and in the conditions tab keep the flag = 1.
the extra work you need to do is you have to create one next page with all the same windows which will triggers for evry new line item.
hope it may be helpful to you.
plz reward points if helpful
Regards
Zarina -
How to make use of communication method in output type for new smartform?
Hi all,
My requirement, send the smartform to the carrier by fax/email/print based on the output condition records created.
Here are the things that I had done.
1) created a ZSMARTFORMS - smartforms
2) created a ZPRINTPROGRAM - print program
3) created a ZTCFRT - transaction code
3) created an ZFRT - output type
I am stuck here. What are the next steps ? I want when I run transaction code: ZTCFRT, this print program ZPRINTPROGRAM will call this ZSMARTFORMS smartforms and send/fax/print to the carrier.
It would be great that someone can share the steps with me.
Thanks!Hi,
Have you written any code in your program or just Created it?
If you have only created it, then you need to call some functions in your PRINT Program and these are:
Below is just an example:
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = i_formname
IMPORTING
fm_name = i_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
CALL FUNCTION i_fm_name
EXPORTING
control_parameters = control_parameters
output_options = output_options
user_settings = space
vbeln = p_vbeln
TABLES
it_vbak = it_vbak
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.
After calling second function, system execution will reach to the SMARTFORM (which you have created). There in smartform you can do whatever you want.
for more details:
http://help.sap.com/saphelp_nw04/helpdata/EN/a5/de6838abce021ae10000009b38f842/content.htm
also see:
help.sap.com/printdocu/core/Print46c/en/data/.../BCSRVSCRSF.pdf
For any query, revert back.
Regards,
Vishal -
Printing Standard TEXT with multiple paragraphs in smartform
Hello all,
I have a requirement that, there is a very long standard text stored in a notification of an order in SAP ISU system. The text contains multiple paragraphs with indentations. I want to print this text directly into the smartform WITH SAME INDENTATION AND PARAGRAPH FORMATTING.
First i am reading the entire text using FM READ_TEXT.
My first problem is even if i read the text into a variable of type STRING , it just prints 255 characters of it.
And secondly if i try to printout it using LOOP AT node in smartforms, it prints the entire content but without any formatting .
Please let me know whether it is possible to print standard text in smartforms or not
Thanks
Nilesh PuranikHey ,
Well thanks for that but my replies got posted 2-3 times unknowingly, could'nt help it.
Coming to the problem, i guess you did not get my point when i say dynamic texts for each service order.
In my Report i am using LOOP AT ITAB ..where in itab i am storing a service order no i.e. ITAB-ORDER_NO
Now for every order there is standard text maintained in SO10 starting with order name
so my code goes like this.
LOOP AT ITAB.
CALL FUNCTION 'READ_TEXT'
EXPORTING
ID = 'LTXT'
LANGUAGE = 'E'
NAME = ITAB-order_no
OBJECT = 'QMSM'
TABLES
LINES = LINES .
CALL <SMART FORM Fm>
ENDLOOP.
Hence whatever Standard text maintained for that service order i want to display it as it is in the smartform with same paragraphs formatting and indentation.
IF i use a variable in smartform and pass the entire text after using READ_TEXT , it does not format the text and it just prints only 255 characters even if i define it of type STRING .
Hence i am stuck in this scenario.
Appreciate ur help though.
Thanks
Nilesh -
Problem with PO smartform display
Hi All,
I've developed a Purchase Order Template using Smartform. In NACE I've assignd the smartform name for a new output type. Smartform isworking properly.
But while executing ME21n transaction I'm not getting my smartform template. In TNAPR table also I'm not able to find my Smartform name for its output type.
Can any one tell me the reason? And how to rectify this problem?
Rgds,
Nithy..I am almost a total computer novice and am having what I think is the same problem Just got my first Apple computer (Macbook Pro). MSN Hotmail is my email account. All the events on my 'hotmail' account are now unreadble because they are squished to the left side of the screen and I don't find any instructions as to how to fix this in the system. This problem didn't exist when I first started using my MAC two days ago, but now I'm stuck. Everything else in my 'hotmail' seems to work fine. Don't know what Chrome or Firefox is or if there is a cost for them. Also, have never downloaded a program if any kind.
My calendar is critically important to me and I don't have a clue as to what to do now. Hope you can help.
Thanks. Linda -
hi all,
ive just stuck with a problem in smartforms, ive created a smartform for purchase requisistion(pr) , in that im fetching the pr items in main window (main) and service line items in a loop in mainwindow, the problem is if the pr doesn't have a service line items a single empty line is displaying after the header data, i ve just tried by giving the conditions in the conditions tab" if itab or workarea is not initial" , but its stopping the loop and displaying only header data with out service line items. can any one give me the solution to this.
regards
venkat.Hi,
if you want to dispaly the service line items even though there is no entry in line items table, then create the service line item table after the PR line item table in main window not in (loop..endloop).
In this case first line items of the PR will be printed and then service line items will be printed.
If the service line items are related to the PR line items then the form is correct, because there are no line items for PR's.
Regards,
Raju. -
Hi Gurus,
We have stuck with issue, we have created new Z-smartforms based on standard CRM_ORDER_CONFIRMATION_01.
We have defined action for sending mail, mail is used new smartform which we defined in action conditons.
once the action triggered we could see txn SOST all the email action,now business want to take print ourt from the transaction.
When we go for print option by suppling the output device the system gives the error message "Output device LOCL is not type PDF1".
What we need to do take print?
Your help will be highly appreciated, thanks in advance.
Regards,
mukiWhen you get to print preview screen, select goto->list display. Then press the print button on the action bar (not menu bar). It will print the OTF document to your default printer.
Note, you may also need to change the DEVICE_TYPE setting in Format Conversion (SCOT)
- Tim -
Is Smartforms recommended for use in check payments?
Looking at some of the comments on this Forum, I am apprehensive about the advisability of using SMARTFORMS for check payments. I see issues in configuration (only Script/PDF Forms are available in Payment Methods) and the driver program RFFOUS_C needs special customization, etc.
My thanks in advance for sharing your thoughts and experiences of using SMARTFORMS for this aspect (versus SAPSCRIPT).
Regards,
Ananth>
Ananth Vootkur wrote:
> I have a cheque developed through Smartforms.
>
> This needs to be integrated into configuration (FBZP) and F110 process invoking RFFOUS_C or modification there of, so that cheques are printed for the Payment Runs.
>
> This is where i am stuck. My customized RFFOUS_C that invokes Smartforms Cheque is not getting the data passed. There is some connectivity missing. (I am quite far away from other issues like MICR printing).
>
> How to navigate through this payment process through RFFOUS_C (replacing SAPSCRIPT cheque with Smartforms Cheque)?
>
> Regards.
Assuming you copied the RFFOUS_C into Z program, did you then made config changes so that your program will be called for payment method C in company code/country.
Check setting in F110
F110->Enviroment->Display Config->Payment methods in country/Payment methods in company code
check program name specified in there.
Regards,
Pawan. -
Gantt chart in smartform?
Hi everyone,
I have been assigned to put a gantt chart in smartform. Does anyone have any idea of how this can be done?
Thank you in advance,
ShkelqimHi Stefanie,
I already have this project. But when i am importing this project in to my NWDS. Not a single View is opening. Its giving me lot of errors.
I dont know how i will manage...i am really stucked up.
Thanks for reply... -
Smartform Purchase Order : EKKO vs PEKKO
Hi all,
I'm creating a smartform for purchase orders but I'm stuck at passing the right variables to the function module that calls the smartform.
I don't know what to fill in for ZXPEKKO = ??? --> What select statement should I do here ?
It would also be helpfull to give me more information on the relationship between : EKKO & PEKKO
The function module interface shows this info :
""Global Interface:
*" IMPORTING
*" VALUE(ARCHIVE_INDEX) TYPE TOA_DARA OPTIONAL
*" VALUE(ARCHIVE_INDEX_TAB) TYPE TSFDARA OPTIONAL
*" VALUE(ARCHIVE_PARAMETERS) TYPE ARC_PARAMS OPTIONAL
*" VALUE(CONTROL_PARAMETERS) TYPE SSFCTRLOP OPTIONAL
*" VALUE(MAIL_APPL_OBJ) TYPE SWOTOBJID OPTIONAL
*" VALUE(MAIL_RECIPIENT) TYPE SWOTOBJID OPTIONAL
*" VALUE(MAIL_SENDER) TYPE SWOTOBJID OPTIONAL
*" VALUE(OUTPUT_OPTIONS) TYPE SSFCOMPOP OPTIONAL
*" VALUE(USER_SETTINGS) TYPE TDBOOL DEFAULT 'X'
*" VALUE(ZXEKKO) TYPE EKKO
*" VALUE(ZXPEKKO) TYPE PEKKO ---> ???
CALL FUNCTION lf_fm_name
EXPORTING
archive_index = toa_dara
archive_parameters = arc_params
control_parameters = ls_control_param
mail_recipient = ls_recipient
mail_sender = ls_sender
output_options = ls_composer_param
user_settings = space
is_nast = nast
is_repeat = repeat
ZXEKKO = ls_ekko
ZXPEKKO = ??? --> Where should I select this info from ?
IMPORTING
document_output_info = document_output_info
job_output_info = job_output_info
job_output_options = job_output_options
TABLES
* it_ekko = it_ekko
it_ekpo = it_ekpo
it_t001w = it_t001w
it_lfa1 = it_lfa1
it_adrc = it_adrc
it_adr6 = it_adr6
it_konv = it_konv
it_makt = it_makt
it_tline = it_tline
it_tline1 = it_tline1
it_tline2 = it_tline2
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5If it's you who has created the smartform, you should know what ZPEKKO is used for inside smartform.
In other case, have a look at the smartform being called and see where is ZPEKKO used...(perhaps it's populated inside smartform)
regards,
Aabhas -
Smartforms - urgent ~ pls help
Hi,
I have a question on the smartforms.
I need to create a cover page & content page. In the Cover page's Main window, I added a template because data is only displayed once and it is static.
As for the Content Page, I have 1 template & 1 table. This template will also be displayed once & is static, whereas the table will have dynamic rows.
(1) The Main Window for Content Page should contain both template & table or table only?
(2) Currently I only added a table, and when I run, Content Page is not displayed? Do I need to manually link 1st & 2nd page together?
(3) To loop the internal table, such as "it_tab" INTO "ls_tab", should i add this to "TABLE" on in the "Main Area~LOOP"? I am confused as both also need to add it.
(4) The display of content page is:
(1st line) - table header, such as <b>"ID no", "Product Name".</b>
(2nd line) - display data, such as <b>"X123", "coat".</b>
(3rd line) - header, such as <b>"material", "%"</b>
(4th line) - display data, such as <b>"cashmere", "10"</b>
Can anybody advise me how to create this table? 1st & 3rd line is header, whereas 2nd & 4th line are data. If my internal table has more than 1 row of data, first row of data must display like above, and loop for second row, display the header & data again, it's like a <b>BLOCK of table</b>.
Kindly give me a clue, I am stuck!
Thanks!!
regards,
GinnieHi,
1. In main window you can use both template and table. if table content exceeds the page, it will automatically triggers another page for the rest of the data.
2. If you are creating 2 pages in smartform, yes u need to connect each other. Check the 'Next page' value in Page1. (double click on page1, u can find the option.) select 'Page2' value.
3. If you are using Table, provide it_tab in 'DATA' tabstrip. In this u can find Internal table option.
Hope this helps u.
Maybe you are looking for
-
I have two iTunes accounts that need to be merged together
Recently with the purchase of a new iPhone, I created a new Apple ID and a new iTunes account in that setup process. How can I merge the old account with the new account? I have not been able to use the iPhone to purchase items from the Apps Store b
-
Can't delete some files due to a persistent lock.
I've been having problems deleting a few files. I get this error oracle.ifs.common.IfsException: IFS-30650: PublicObject has a persistent lock; unable to change void oracle.ifs.common.IfsException.<init>(int) IfsException.java:341
-
How do I download my CS3 PhotoShop to my new Apple MacBook Air
How do I download my CS3 PhotoShop to my new Apple MacBook Air
-
Could not change countries in app store
i live in kuwait and every time i should sign out and sign in again to buy or update in app store and i have change the country to kuwait but i have messages every time you are in the british, canadian, usa store so you should change to you country s
-
PB G4 with Dell 2407WFP monitor?
I am looking into buying the 24" Dell 2407WFP monitor. I need to know if my Powerbook will work with it. It has DVI and VGA inputs but I need to know if my 15 Inch Powerbook will work with 1920x1200 Pixels @ 60 Hz. Thanks in advance.