ITEM REMARKS
Dear Friends,
I am not able to migrate the Item Remarks in Item Master Data through DTW. I am using DTW Version 2005.0.17. Please let me know if there is any special syntax that has to be used while transfering data in the field that is of type Long Text 64000 Characters as I am also facing the same problem while migrating data in Business Partner Master Records in the Block/Buildings/Floor Field.
Thanks & Regards
Hi,
The field you must use is user_text in DTW item but from SDK helpfiles it is only 10 characters. I also confuse about it but in excel, maximum digit amount is 13. I think it seems irrelevant with with description in the SBO GUI. I try to import 111111111111111111100000 in user_text object, it is success. So I think it is no problem to use until 64000 characters as long as the excel template gives no error.
In BP master data excel template for DTW, it is no problem to use 64000 characters since it is stated in SDK helpfiles. What is API version you are currently using ? try to reinstall it.
Rgds,
Similar Messages
-
Anyone know how to force a resynch of all item remarks. - I can see that it will occur individually if the item is edited in B1 but how do you achieve this in bulk?
I removed all records from WT (Partsnotes) and need to re-populate again based upon data in B1Couldn't you simply do a flurry of SQL UPDATEs? It'd probably be a heck of a lot faster than resynching each item.
If there is other data that needs to be synched besides Remarks, you can force a synch by executing the following SQL for each item:
DECLARE @ItemCode VARCHAR(50)
SET @ItemCode='MyPart'
INSERT INTO PRX_Transaction_Queue (
object_type,
transaction_type,
num_of_cols_in_key,
list_of_key_cols_tab_del,
list_of_cols_val_tab_del,
synchstatus
) VALUES (
4, /* object_type=4 means it's an item */
'U', /* We want to "U"pdate the item */
1,
'ItemCode',
@ItemCode, /* Your part */
'InQueue' -
Marketing docs including item remarks in the printed form?
On the PO window you will see all items the user has added including text rows. When you print the document it is including the IMD remarks for parts that have that populated. I have not found why this being included. As far as I can see the text rows that are referenced in the PLD are from the Purchase Order:Rows. I see no reference to the IMD remarks. We do not want this on any of our marketing docs. It is happening on all of them currently. Any help you can offer would be greatly appreciated.
Thanks,
MonicaHi
You have to select the specific template based on your business process . Since you have decided to put the text(function) in the purchase order and I believe documents are usually created based on copy from and copy to function , you have to find the appropriate PLD format to handle your situation .
I have given an alternative workaround for this issue because I donot like PO with whole bunch of text which is difficult for to read .
1. Ask your user to use opening and closing remark instead of using text field .
2.Display this opening and closing remarks in PLD - Database -OPOR Field -Header
3.Print the information on PLD .
Limitation -user cannot see in the screen that remarks have been added unless print preview is used
So I have ask user to create a common code and put in remarks that means there are more remarks associated with this documents
Hope this helps you
Bishal -
Item Remarks Field Text Synchronisation
I notice that the Remarks Text field , OITM.UserText in B1 is updated on synchronisation to the PartsNotes table.
Each time it is changed in B1 it creates a new record in PartsNotes. Is this a remnant of functionality which used to exist in NetPoint. Is there a reason for this behaviour and if not could it be corrected so that it correctly updates a single record in Webtools?
I am just thinking that it may ocassionally be useful to be able to use this field data in Webtools since the existing description ( at 254 characters ) may not always be sufficient and the Remarks field (ntext) is at least maintainable from within B1 unlike the extended use of PartsNotes for a product which can only be maintained in Webtools.Michael,
I'd love to do this, my problem here is that it is difficult to do from scratch without an example to follow when you're just starting out!
If someone was willing to share the necessary steps and suggested code to simply get a one-way synch of an additional B1 field synched into a WT field it would be more than welcome ( I'm sure it can't be too long-winded!)
Other than that it's down to trial and error and I'm sure enough folks have been down that route but it would be nice to get some help just to get started - I know that this is a topic that has been discussed and requested before in this forum
Geoff
PS - I have just seen your useful post in relation to a query from Yusuf Abbas - the comment on doing your own work based upon the sample plugin provided was useful and it looks like I'll just have to roll my sleeves up and have a go -
PLD - Items split in 2 different pages in while printing
The User has entered only 5 Items in PO.When he sees the print preview , it is displayed in 2 different pages.
ie 4 items in first page and last item in second page, even after there is a lot of space on the first page.
Why is it happening.
I have used the field Items-Item-Remarks which is a text field.Hi Sanjay Khimesra,
In our system, everytime when a document is printed, the Page Footer part will be printed on each page. If there is no enough space for the whole Page Footer, some lines will be moved to the next page. Please kindly ajust the Page Footer size to check whether it is the case in your situation.
Hope this helps
Regards, Summer
SAP Business One Forums Team -
Import remarks with multiple lines
Hi,
How can I import using DTW for Item remarks with multiple lines?Hi,
Check the thread
Importing Multiple Lines in a remarks (user_Text) of items using DTW?
multiple line import through DTW (user_text for oItems)
*Close the thread if issue solved.
Regards
Jambulingam.P -
Smartforms: How 2 fire print & download 2 PDF simultaniously 4 my forms
Dear Murugesh, Cristian
The following is my piece of code which directly downloads my forms into PDF but not creating any spool 4 firing print ,
1) I need the both to happen simultaniously .
2) I need to include the o/p(either SAPScript/report o/p) as the Smartform pages with o/p of my Driver prog ,by calling another TCODE from my driver prog .
Please throw some light on this .
have a look into my code
*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_NAME1 TYPE RS38L_FNAM,
FM_NAME2 TYPE RS38L_FNAM,
FM_NAME3 TYPE RS38L_FNAM,
FM_NAME4 TYPE RS38L_FNAM,
P_E_DEVTYPE TYPE RSPOPTYPE,
P_JOB_OUTPUT_INFO TYPE SSFCRESCL OCCURS 2000 WITH HEADER LINE,
T_OTF LIKE ITCOO OCCURS 0 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,
OK_CODE LIKE SY-UCOMM.
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.
*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-GDESC = 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'.
*Item Remarks
TIDNO = 'ZREM'.
CONCATENATE SSORD
VBAP-POSNR
INTO TNAME.
TOBJT = 'VBBP'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
WA_ITEM-REMARK = mslines-tdline(40).
EXIT.
ENDLOOP.
*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.
*Gross Wieght
TIDNO = 'Z078'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-GWT = mslines-tdline(15).
EXIT.
ENDLOOP.
*Net Wieght
TIDNO = 'Z079'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-NWT = mslines-tdline(15).
EXIT.
ENDLOOP.
T_ADRS-TOT_WORDS = WORD-WORD.
APPEND T_ADRS.
START-OF-SELECTION.
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 = 'LOHP'.
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 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSD_REP_MULTI_PRINT1'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME1
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 FM_NAME1
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.
LOOP AT P_JOB_OUTPUT_INFO-OTFDATA INTO T_OTF.
APPEND T_OTF.
ENDLOOP.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSD_REP_MULTI_PRINT2'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME2
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 FM_NAME2
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.
LOOP AT P_JOB_OUTPUT_INFO-OTFDATA INTO T_OTF.
APPEND T_OTF.
ENDLOOP.
<b>SET PARAMETER ID: 'AUN' FIELD SSORD ,"VBAK-VBELN VALUE ,
'APO' FIELD ITNO."VBAP-POSNR.
CALL TRANSACTION 'ZPL3' AND SKIP FIRST SCREEN.
IF SY-SUBRC NE 0.
MESSAGE E001(ZQOTBANK).
ENDIF.
*SET PARAMETER ID: 'AUN' FIELD VBAK-VBELN,
'APO' FIELD VBAP-POSNR.
*CALL TRANSACTION 'ZA3C' AND SKIP FIRST SCREEN.
*IF SY-SUBRC NE 0.
MESSAGE E001(ZQOTBANK).
*ENDIF.
IMPORT (T_OTF2) FROM MEMORY ID 'MEMID'.
LOOP AT T_OTF2 INTO T_OTF2.
APPEND T_OTF2 TO T_OTF.
ENDLOOP.
</b>
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSD_REP_MULTI_PRINT4'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME4
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 FM_NAME4
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.
LOOP AT P_JOB_OUTPUT_INFO-OTFDATA INTO T_OTF.
APPEND T_OTF.
ENDLOOP.
CALL FUNCTION 'CONVERT_OTF_2_PDF'
EXPORTING
USE_OTF_MC_CMD = 'X'
ARCHIVE_INDEX =
IMPORTING
BIN_FILESIZE = P_BIN_FILESIZE
TABLES
OTF = T_OTF
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 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = P_BIN_FILESIZE
FILENAME = 'C:\SD4.pdf'
FILETYPE = 'BIN'
APPEND = ' '
WRITE_FIELD_SEPARATOR = ' '
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
IMPORTING
FILELENGTH = P_BIN_FILESIZE
TABLES
DATA_TAB = P_LINES
FIELDNAMES =
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*& 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
Thnx
moni
Message was edited by: md monirujjaman
Message was edited by: md monirujjamanHello,
I had thought that your 4th output of the Transaction is an output of a list and NOT from a SCRIPT.
Now, if it is a SAP SCRIPT ourput, it is quite simple as you have to get the OTFDATA from the SCRIPT. But you may have to make the correction in your SAPSCRIPT driver program.
Sample:
CALL FUNCTION 'CLOSE_FORM'
TABLES
otfdata = te_otf_table
EXCEPTIONS
unopened = 1
bad_pageformat_for_print = 2
OTHERS = 3.
Next you may EXPORT this OTF Data Internal Table to ABAP Memory.
In your program where you are calling all the 3 forms + the transaction which outputs the SAPScript output, the exported data may be imported and appended into the MAIN Interal Table and single PDF could be generated.
Secondly, The PRINT prieview of the SSFs could be generated by passing Export options of the SSF FM
SAmple:
ssfctrlop-no_dialog = ' '.
CALL FUNCTION l_form
EXPORTING
control_parameters = ssfctrlop
output_options = ssfcompop
I hope this helps you.
Regards, Murugesh AS -
Smartform : How do i append o/p of a report(ZA3C) as Smartform Pages
Dear all
I have three smartform pages with a Driver prog .
Now i want 2 append the o/p of mere a report(not SapScript) as smartform pages .
I m trying 2 achieve that by the following BOLD part of my code .
Throw some light on this
Thnx in Advance
Moni
Have look at my code plz
*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,
VBFA,
LIKP,
LIPS,
KONV,
t005t,
KNA1,
t001w,
T001,
ADRC.
DATA: FM_NAME1 TYPE RS38L_FNAM,
FM_NAME2 TYPE RS38L_FNAM,
FM_NAME3 TYPE RS38L_FNAM,
FM_NAME4 TYPE RS38L_FNAM,
P_E_DEVTYPE TYPE RSPOPTYPE,
P_JOB_OUTPUT_INFO TYPE SSFCRESCL OCCURS 2000 WITH HEADER LINE,
T_OTF LIKE ITCOO OCCURS 0 WITH HEADER LINE,
T_OTF2 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,
OK_CODE LIKE SY-UCOMM.
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,
ITNO LIKE VBAP-POSNR.
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.
*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(50).
EXIT.
ENDLOOP.
*Buyer's Order No Ref
TIDNO = 'Z023'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-BUYER = mslines-tdline(50).
EXIT.
ENDLOOP.
*Exporter Ref
TIDNO = 'Z072'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-XPREF = mslines-tdline(50).
EXIT.
ENDLOOP.
*Pre-Carraige By
TIDNO = 'Z074'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PCRG = mslines-tdline(50).
EXIT.
ENDLOOP.
*Place Of reciept by Pre-Carraige
TIDNO = 'Z073'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PLPCRG = mslines-tdline(50).
EXIT.
ENDLOOP.
*Vessel/Flight No
TIDNO = 'Z075'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-VFNO = mslines-tdline(50).
EXIT.
ENDLOOP.
*Port Of Loading
TIDNO = 'Z077'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PLOAD = mslines-tdline(50).
EXIT.
ENDLOOP.
*Port Of Discharge
TIDNO = 'Z076'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PDISG = mslines-tdline(50).
EXIT.
ENDLOOP.
*Final Destination
TIDNO = 'Z070'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-FDEST = mslines-tdline(50).
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-GDESC = 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'.
*Item Remarks
TIDNO = 'ZREM'.
CONCATENATE SSORD
VBAP-POSNR
INTO TNAME.
TOBJT = 'VBBP'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
WA_ITEM-REMARK = mslines-tdline(40).
EXIT.
ENDLOOP.
*Goods Amount
WA_ITEM-AMOUNT = WA_ITEM-QTY * WA_ITEM-RATE.
WA_ITEM-WAERK = VBAP-WAERK.
TOT = TOT + WA_ITEM-AMOUNT.
ITNO = VBAP-POSNR.
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.
*Gross Wieght
TIDNO = 'Z078'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-GWT = mslines-tdline(40).
EXIT.
ENDLOOP.
*Net Wieght
TIDNO = 'Z079'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-NWT = mslines-tdline(40).
EXIT.
ENDLOOP.
T_ADRS-TOT_WORDS = WORD-WORD.
APPEND T_ADRS.
START-OF-SELECTION.
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 = 'LOHP'.
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 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSD_REP_MULTI_PRINT1'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME1
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 FM_NAME1
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.
LOOP AT P_JOB_OUTPUT_INFO-OTFDATA INTO T_OTF.
APPEND T_OTF.
ENDLOOP.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSD_REP_MULTI_PRINT2'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME2
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 FM_NAME2
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.
LOOP AT P_JOB_OUTPUT_INFO-OTFDATA INTO T_OTF.
APPEND T_OTF.
ENDLOOP.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSD_REP_MULTI_PRINT3'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME4
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 FM_NAME4
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.
LOOP AT P_JOB_OUTPUT_INFO-OTFDATA INTO T_OTF.
APPEND T_OTF.
ENDLOOP.
<b>*for capturing the o/p pages from ZPL3 and consolidating into table T_OTF to get single PDF
SET PARAMETER ID: 'AUN' FIELD SSORD ,
'APO' FIELD ITNO.
CALL TRANSACTION 'ZPL3' AND SKIP FIRST SCREEN.
IF SY-SUBRC NE 0.
MESSAGE E001(ZQOTBANK).
ENDIF.
IMPORT (T_OTF2) FROM MEMORY ID 'MEMID'.
LOOP AT T_OTF2-OTFDATA INTO T_OTF.
APPEND T_OTF.
ENDLOOP.</b>
CALL FUNCTION 'CONVERT_OTF_2_PDF'
EXPORTING
USE_OTF_MC_CMD = 'X'
ARCHIVE_INDEX =
IMPORTING
BIN_FILESIZE = P_BIN_FILESIZE
TABLES
OTF = T_OTF
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 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = P_BIN_FILESIZE
FILENAME = 'C:\SD6.pdf'
FILETYPE = 'BIN'
APPEND = ' '
WRITE_FIELD_SEPARATOR = ' '
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
IMPORTING
FILELENGTH = P_BIN_FILESIZE
TABLES
DATA_TAB = P_LINES
FIELDNAMES =
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*& 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. "FINDTEXTHello,
You can find out the Spool Request w.r.t the Program by FM RSPO_FIND_SPOOL_REQUESTS.
This Spool Request could be converted to PDF by FM CONVERT_ABAPSPOOLJOB_2_PDF.
P.S.: The Import parameter 'NO_DIALOG' in FM CONVERT_ABAPSPOOLJOB_2_PDF is to be initial. You will be getting a Popup seeking the Path and name of the file to be created. This is because you can direct the Spool list to be created in the same PDF file by appending it into earlier created SSF/SAPScript PDF outputs.
I hope this helps you.
Regards, Murugesh AS -
Hi,
I need some assistance with a Price List query.
I have special volume discounts setup for items within the main price lists. I have done it this way rather than doing special pricing against business partners.
I need a query where you select a product group and a price list and only selects items with item property 34 set as 'Y'. The report needs to produce the item code, base price, volume, discounted price (based on the volume). This would basically give the result of what a "single item" would cost and then a "box price" for the same item. It would look something like:
ITEM CODE LIST PRICE VOLUME BOX/VOLUME PRICE ITEM REMARKS
Any assistance would be greatly appreciated.
Many Thanks,
SteveHi Nagarajan,
Thank you for the query. It doesn’t however give the results I need. It seems to list a number of transactions rather than the pricing from the price list.
Ideally am looking for the following results:
ITEM CODE LIST PRICE (From Price List) DISCOUNT VOLUME QTY (From special Pricing with Price List) DISCOUNT VOLUME PRICE ITEM REMARKS
Based on the WHEN/FILTER:
Price List = ‘%’
QueryGrp34 = 'Y'
I hope this helps??
Many Thanks,
Steve -
Server must specify table in Query Manager
Dear All,
I am using below query to generate information related to GRPO but getting error
'microsoft sql server native client sql server must specify table to select from microsoft sql server native client Swei could not be prepared'
SELECT Distinct T7.DOCNUM AS ' INVOICE No.',T7.DocDate as 'Invoice Date',T7.TaxDate as 'Document Date',T7.DocDueDate,'PO','DocDate',T7.CardCode as 'Vendor Code', T7.CARDNAME as 'Vendor Name',
T7.NUMATCARD as 'Vendor Invoice No.',
T7.SHIPTOCODE as 'Ship To Code',T6.ITEMCODE,T6.DSCRIPTION,T6.Width1, cast(T15.UserText as VarChar) as 'Item Remarks',
T6.QUANTITY,T6.WhsCode as 'Wh Name',T6.UnitMsr as 'UoM',T6.PRICE as 'Basic Price',T6.LineTotal as 'Basic Amount',
T10.[TransCat] as 'Purchase Type',T6.U_InvoiceNo 'Vendor Invoice No',T6.U_InvDate 'Vendor Invoice Date',
T7.Address As 'Bill To Address',T7.Address2 As 'Ship To Address',T7.U_CST,T7.U_VAT,T7.U_PAN,T12.[U_CreditRatPayer], T12.[U_CreditRatCheq], T12.[U_CreditRatPoints], T12.[U_DiscApp] ,
T10.State as 'Vendor State',
T15.[U_ItemType], T15.[U_Pattern], T15.[U_PurchaseType], T15.[U_Origin], T15.[U_ProductRange], T15.[U_NSD], T15.[U_Segment], T15.[U_SpeedRating],
T15.[U_Brand], T15.[U_Category], T15.[U_CompoType], T15.[U_OTHBCategory], T15.[U_WidthIN], T15.[U_WidthCM], T15.[U_RimWidthIN],
T15.[U_AspectRate], T15.[U_Plyrating], T15.[U_CountryMmanu], T15.[U_ProductType], T15.[U_Radiatyre], T15.[U_Loadindex], T15.[U_CategoryFTI], T15.[U_LoadindexFTI]
FROM
dbo.PDN1 T6 inner join OPDN T7 ON T6.DocEntry = T7.DocEntry LEFT JOIN
dbo.OITM T15 ON T15.ItemCode = T6.ItemCode LEFT JOIN
dbo.OSLP T8 on T7.SLPCode = T8.SlpCode LEFT JOIN
dbo.OHEM T9 on T7.OwnerCode = T9.empID LEFT JOIN
dbo.PDN12 T10 on T7.Docentry = T10.DocEntry LEFT JOIN
dbo.OCRD T12 on T7.CardCode = T12.CardCode
Where T6.TargetType <> '19' and T15.U_ItemType = 'Tyre' and T7.DocDate >= '[%0]' and T7.DocDate <= '[%1]'
We tried to declare variable but error still appears.
Thanks
DeepakTry This
/* select docdate from OPDN t1 */
DECLARE @d1 AS DATETIME
DECLARE @d2 AS DATETIME
SET @d1 =/* t1.docdate */ '[%0]'
SET @d2 =/* t1.docdate */ '[%1]'
SELECT DISTINCT T7.DOCNUM AS ' INVOICE No.',
T7.DocDate AS 'Invoice Date',
T7.TaxDate AS 'Document Date',
T7.DocDueDate,
'PO',
'DocDate',
T7.CardCode AS 'Vendor Code',
T7.CARDNAME AS 'Vendor Name',
T7.NUMATCARD AS 'Vendor Invoice No.',
T7.SHIPTOCODE AS 'Ship To Code',
T6.ITEMCODE,
T6.DSCRIPTION,
T6.Width1,
CAST(T15.UserText AS VARCHAR) AS 'Item Remarks',
T6.QUANTITY,
T6.WhsCode AS 'Wh Name',
T6.UnitMsr AS 'UoM',
T6.PRICE AS 'Basic Price',
T6.LineTotal AS 'Basic Amount',
T10.[TransCat] AS 'Purchase Type',
T6.U_InvoiceNo 'Vendor Invoice No',
T6.U_InvDate 'Vendor Invoice Date',
SELECT DISTINCT ISNULL(SUM(PDN4.taxsum), 0)
FROM PDN4
WHERE PDN4.statype = 10
AND PDN4.docentry = T7.Docentry
AND PDN4.linenum = T6.Linenum
) BED,
SELECT DISTINCT ISNULL(SUM(PDN4.taxsum), 0)
FROM PDN4
WHERE PDN4.statype = 11
AND PDN4.docentry = T7.Docentry
AND PDN4.linenum = T6.Linenum
) Cess,
SELECT DISTINCT ISNULL(SUM(PDN4.taxsum), 0)
FROM PDN4
WHERE PDN4.statype = 12
AND PDN4.docentry = T7.Docentry
AND PDN4.linenum = T6.Linenum
) HeCess,
SELECT DISTINCT ISNULL(SUM(PDN4.taxsum), 0)
FROM PDN4
WHERE PDN4.statype = 5
AND PDN4.docentry = T7.Docentry
AND PDN4.linenum = T6.Linenum
) ServiceTax,
SELECT DISTINCT ISNULL(SUM(PDN4.taxsum), 0)
FROM PDN4
WHERE PDN4.statype = 6
AND PDN4.docentry = T7.Docentry
AND PDN4.linenum = T6.Linenum
) ServiceCess,
SELECT DISTINCT ISNULL(SUM(PDN4.taxsum), 0)
FROM PDN4
WHERE PDN4.statype = -10
AND PDN4.docentry = T7.Docentry
AND PDN4.linenum = T6.Linenum
) ServiceHeCess,
SELECT DISTINCT ISNULL(SUM(PDN4.taxsum), 0)
FROM PDN4
WHERE PDN4.statype = 1
AND PDN4.docentry = T7.Docentry
AND PDN4.linenum = T6.Linenum
) VAT,
SELECT DISTINCT ISNULL(SUM(PDN4.taxsum), 0)
FROM PDN4
WHERE PDN4.statype = 7
AND PDN4.docentry = T7.Docentry
AND PDN4.linenum = T6.Linenum
) Surcharge,
SELECT DISTINCT ISNULL(SUM(PDN4.taxsum), 0)
FROM PDN4
WHERE PDN4.statype = 8
AND PDN4.docentry = T7.Docentry
AND PDN4.linenum = T6.Linenum
) EntryTax,
SELECT DISTINCT ISNULL(SUM(PDN4.taxsum), 0)
FROM PDN4
WHERE PDN4.statype = 4
AND PDN4.docentry = T7.Docentry
AND PDN4.linenum = T6.Linenum
) CST,
STR(
SELECT (PDN3.[LineTotal] * T6.[LineTotal]) / (T7.[Doctotal] -T7.[TotalExpns] -T6.[VatSum])
FROM PDN3
WHERE PDN3.docentry = T7.Docentry
AND PDN3. ExpnsCode = '1'
19,
2
) AS 'Freight',
T7.[WTSum] * T6.[LineTotal] / (T7.[Doctotal] -T7.[TotalExpns] -T7.[VatSum] + T7.[WTSum]) AS
'TDS',
T7.DocTotal * T6.[LineTotal] / (T7.[Doctotal] -T7.[TotalExpns] -T7.[VatSum] + T7.[WTSum]) AS
'DocTotal',
T6.Freetxt AS ' Text',
T8.[SlpName],
(T9.[firstName] + ' ' + T9.[lastName]) AS 'Owner',
T7.Address AS 'Bill To Address',
T7.Address2 AS 'Ship To Address',
T7.U_CST,
T7.U_VAT,
T7.U_PAN,
T12.[U_CreditRatPayer],
T12.[U_CreditRatCheq],
T12.[U_CreditRatPoints],
T12.[U_DiscApp],
T10.State AS 'Vendor State',
T15.[U_ItemType],
T15.[U_Pattern],
T15.[U_PurchaseType],
T15.[U_Origin],
T15.[U_ProductRange],
T15.[U_NSD],
T15.[U_Segment],
T15.[U_SpeedRating],
T15.[U_Brand],
T15.[U_Category],
T15.[U_CompoType],
T15.[U_OTHBCategory],
T15.[U_WidthIN],
T15.[U_WidthCM],
T15.[U_RimWidthIN],
T15.[U_AspectRate],
T15.[U_Plyrating],
T15.[U_CountryMmanu],
T15.[U_ProductType],
T15.[U_Radiatyre],
T15.[U_Loadindex],
T15.[U_CategoryFTI],
T15.[U_LoadindexFTI]
FROM dbo.PDN1 T6
INNER JOIN OPDN T7
ON T6.DocEntry = T7.DocEntry
LEFT JOIN dbo.OITM T15
ON T15.ItemCode = T6.ItemCode
LEFT JOIN dbo.OSLP T8
ON T7.SLPCode = T8.SlpCode
LEFT JOIN dbo.OHEM T9
ON T7.OwnerCode = T9.empID
LEFT JOIN dbo.PDN12 T10
ON T7.Docentry = T10.DocEntry
LEFT JOIN dbo.OCRD T12
ON T7.CardCode = T12.CardCode
WHERE T6.TargetType <> '19'
AND T15.U_ItemType = 'Tyre'
AND T7.DocDate >= @d1
AND T7.Docdate <= @d2 -
How to write XML Parser??
Hi all,
i have an XML file and its structure is like this and i have to write a parser to get the details from this XML and put it in the nodes.
Please help me out in the procedure and code
<?xml version="1.0" encoding="UTF-8" ?>
- <GAEB xmlns="http://xxxxxxx_XML/200407">
- <GAEBInfo>
<Version>3.1</Version>
<VersDate>2007-06</VersDate>
<Date>2009-02-15</Date>
<Time>15:11:12</Time>
<ProgSystem />
<ProgName>CONSTRUCTION_SUITE V12.4.342</ProgName>
</GAEBInfo>
- <PrjInfo>
<NamePrj>SAP2</NamePrj>
<LblPrj>The Pad on Plot No.BB.B01.061 at Business Bay</LblPrj>
<Cur>ser</Cur>
<CurLbl>trt</CurLbl>
<AlterBidPerm>Yes</AlterBidPerm>
</PrjInfo>
- <Award>
<DP>81</DP>
- <AwardInfo>
<Cur>ser</Cur>
<CurLbl>trt</CurLbl>
</AwardInfo>
- <OWN>
<Address />
</OWN>
- <BoQ ID="DAODAAAA">
- <BoQInfo>
<Name>02</Name>
<LblBoQ>Bill NO.2 - Site Work</LblBoQ>
<Date>2008-07-02</Date>
<OutlCompl>AllTxt</OutlCompl>
- <BoQBkdn>
<Type>BoQLevel</Type>
<LblBoQBkdn>Division</LblBoQBkdn>
<Length>2</Length>
<Num>Yes</Num>
</BoQBkdn>
- <BoQBkdn>
<Type>Item</Type>
<Length>1</Length>
<Num>No</Num>
<Alignment>left</Alignment>
</BoQBkdn>
- <BoQBkdn>
<Type>Index</Type>
<Length>1</Length>
<Num>No</Num>
<Alignment>left</Alignment>
</BoQBkdn>
</BoQInfo>
- <BoQBody>
- <BoQCtgy ID="DBAHAAAA" RNoPart="1">
- <LblTx>
- <p>
<span>Page No.2/1</span>
</p>
</LblTx>
- <BoQBody>
- <Itemlist>
- <Remark ID="DBAHADGA">
- <Description>
- <CompleteText>
- <DetailTxt>
- <Text>
- <p style="text-align:left;">
<span style="font-family:Arial;font-size:medium;color:rgb(0,0,0);">SITE WORKS</span>
<br />
<span style="font-family:Arial;font-size:medium;color:rgb(0,0,0);">EARTH WORKS</span>
<br />
<span style="font-family:Arial;font-size:medium;color:rgb(0,0,0);">Excavate in any material from reduced level (-7.6</span>
<br />
<span style="font-family:Arial;font-size:medium;color:rgb(0,0,0);">DMD) including levelling and compacting the bottom</span>
<br />
<span style="font-family:Arial;font-size:medium;color:rgb(0,0,0);">of excavation as specified in stages as necessary</span>
</p>
</Text>
</DetailTxt>
- <OutlineText>
- <OutlTxt>
- <TextOutlTxt>
- <p>
<span>SITE WORKS</span>
<br />
<span>EARTH WORKS</span>
<br />
<span>Excavate in any material from reduced level (-7.6</span>
<br />
<span>DMD) including levelling and compacting the bottom</span>
<br />
<span>of excavation as specified in stages as necessary</span>
</p>
</TextOutlTxt>
</OutlTxt>
</OutlineText>
</CompleteText>
</Description>
</Remark>
- <Item ID="DBAHAEOA" RNoPart="A">
<Qty>8738.000</Qty>
<PredQty>8738.000</PredQty>
<QU>m3</QU>
- <Description>
- <CompleteText>
- <DetailTxt>
- <Text>
- <p style="text-align:left;">
<span style="font-family:Arial;font-size:medium;color:rgb(0,0,0);">Excavation to raft foundation</span>
</p>
</Text>
</DetailTxt>
- <OutlineText>
- <OutlTxt>
- <TextOutlTxt>
- <p>
<span>Excavation to raft foundation</span>
</p>
</TextOutlTxt>
</OutlTxt>
</OutlineText>
</CompleteText>
</Description>
</Item>
- <Remark ID="DBAHAHJI">
- <Description>
- <CompleteText>
- <DetailTxt>
- <Text>
- <p style="text-align:left;">
<span style="font-family:Arial;font-size:medium;color:rgb(0,0,0);">Disposal</span>
</p>
</Text>
</DetailTxt>
- <OutlineText>
- <OutlTxt>
- <TextOutlTxt>
- <p>
<span>Disposal</span>
</p>
</TextOutlTxt>
</OutlTxt>
</OutlineText>
</CompleteText>
</Description>
</Remark>
- <Item ID="DBAHAJBI" RNoPart="B">
<Qty>8738.000</Qty>
<PredQty>8738.000</PredQty>
<QU>m3</QU>
- <Description>
- <CompleteText>
- <DetailTxt>
- <Text>
- <p style="text-align:left;">
<span style="font-family:Arial;font-size:medium;color:rgb(0,0,0);">Disposal of excavated materials, away from site to</span>
<br />
<span style="font-family:Arial;font-size:medium;color:rgb(0,0,0);">approved tips as directed by the Engineer</span>
</p>
</Text>
</DetailTxt>
- <OutlineText>
- <OutlTxt>
- <TextOutlTxt>
- <p>
<span>Disposal of excavated materials, away from site to</span>
<br />
<span>approved tips as directed by the Engineer</span>
</p>
</TextOutlTxt>
</OutlTxt>
</OutlineText>
</CompleteText>
</Description>
</Item>
</Itemlist>
</BoQBody>
</BoQCtgy>
</BoQBody>
</BoQ>
</Award>
</GAEB>
Thanks,
SureshHi,
Following are some of them DOM,SAX ...
http://www.devx.com/xml/Article/16921
Regards
Ayyapparaj -
Issue with Join in query?
Hi All,
I have a query report for sales which is giving multiple data if the invoice is based on multiple sales order i.e 2 SO copied to 1 delivery and 1 delivery copied to single invoice.
SELECT DISTINCT concat(T13.BeginStr,right(T7.DOCNUM,6)) AS ' INVOICE No.',T7.DocDate as 'Invoice Date',T7.DocDueDate,
T1.DocNum ,T1.DocDate'DocDate',T7.CardCode as 'Customer Code', T7.CARDNAME as 'Customer Name',T7.U_otherref
,T3.DocNum As ' DC Ref#',
T3.DocDate as 'DC Date',
T7.SHIPTOCODE as 'Ship To Code',T6.Linenum,T6.ITEMCODE,T6.DSCRIPTION,T6.U_SaleType,T6.U_SpclDeal, cast(T15.UserText as VarChar) as 'Item Remarks',
T6.QUANTITY,T6.WhsCode as 'Wh Name',T6.UnitMsr as 'UoM',T6.PriceBefDi as 'Basic Price',
(Select distinct isnull(Sum(INV4.taxsum),0) from INV4 where INV4.statype=1 and INV4.docentry=T7.Docentry and INV4.linenum = T6.Linenum )VAT,
(Select distinct isnull(Sum(INV4.taxsum),0) from INV4 where INV4.statype=7 and INV4.docentry=T7.Docentry and INV4.linenum = T6.Linenum )Surcharge,
(Select distinct isnull(Sum(INV4.taxsum),0) from INV4 where INV4.statype=18 and INV4.docentry=T7.Docentry and INV4.linenum = T6.Linenum )AddVat,
(Select distinct isnull(Sum(INV4.taxsum),0) from INV4 where INV4.statype=8 and INV4.docentry=T7.Docentry and INV4.linenum = T6.Linenum )EntryTax,
(Select distinct isnull(Sum(INV4.taxsum),0) from INV4 where INV4.statype=4 and INV4.docentry=T7.Docentry and INV4.linenum = T6.Linenum )CST,
T7.NUMATCARD as 'Customer PO No.'
FROM
dbo.RDR1 T0 left JOIN
dbo.ORDR T1 ON T1.DocEntry = T0.DocEntry LEFT JOIN
dbo.DLN1 T2 ON T2.BaseEntry = T1.DocEntry LEFT JOIN
dbo.ODLN T3 ON T2.DocEntry = T3.DocEntry left JOIN
dbo.INV1 T6 ON T6.BaseEntry = T3.DocEntry LEFT outer JOIN
dbo.OINV T7 ON T7.DocEntry = T6.DocEntry LEFT JOIN
dbo.OITM T15 ON T15.ItemCode = T6.ItemCode LEFT JOIN
dbo.OSLP T8 on T1.SLPCode = T8.SlpCode LEFT JOIN
dbo.OHEM T9 on T1.OwnerCode = T9.empID LEFT JOIN
dbo.INV12 T10 on T7.Docentry = T10.DocEntry LEFT JOIN
dbo.OCRD T12 on T7.CardCode = T12.CardCode LEFT JOIN
NNM1 T13 ON T7.Series = T13.Series left join
OITB T14 on T14.ItmsGrpCod = T15.ItmsGrpCod
WHERE T6.BaseType = '15' and T7.Doctype = 'I' --and T7.docnum = '46000138'
Can someone please let me know which join is wrong here that its fetching multiple lines?
Thanks,
JosephHi Joseph,
Try this query without UDF:
SELECT DISTINCT T7.DOCNUM AS ' INVOICE No.',T7.DocDate as 'Invoice Date',T7.DocDueDate,
T1.DocNum ,T1.DocDate'DocDate',T7.CardCode as 'Customer Code', T7.CARDNAME as 'Customer Name'
,T3.DocNum As ' DC Ref#',
T3.DocDate as 'DC Date',
T7.SHIPTOCODE as 'Ship To Code',T6.Linenum,T6.ITEMCODE,T6.DSCRIPTION, cast(T15.UserText as VarChar) as 'Item Remarks',
T6.QUANTITY,T6.WhsCode as 'Wh Name',T6.UnitMsr as 'UoM',T6.PriceBefDi as 'Basic Price',
(Select distinct isnull(Sum(INV4.taxsum),0) from INV4 where INV4.statype=1 and INV4.docentry=T7.Docentry and INV4.linenum = T6.Linenum )VAT,
(Select distinct isnull(Sum(INV4.taxsum),0) from INV4 where INV4.statype=7 and INV4.docentry=T7.Docentry and INV4.linenum = T6.Linenum )Surcharge,
(Select distinct isnull(Sum(INV4.taxsum),0) from INV4 where INV4.statype=18 and INV4.docentry=T7.Docentry and INV4.linenum = T6.Linenum )AddVat,
(Select distinct isnull(Sum(INV4.taxsum),0) from INV4 where INV4.statype=8 and INV4.docentry=T7.Docentry and INV4.linenum = T6.Linenum )EntryTax,
(Select distinct isnull(Sum(INV4.taxsum),0) from INV4 where INV4.statype=4 and INV4.docentry=T7.Docentry and INV4.linenum = T6.Linenum )CST,
T7.NUMATCARD as 'Customer PO No.'
FROM
dbo.RDR1 T0 left JOIN
dbo.ORDR T1 ON T1.DocEntry = T0.DocEntry LEFT JOIN
dbo.DLN1 T2 ON T2.BaseEntry = T1.DocEntry and T2.[BaseLine] = T0.[LineNum] LEFT JOIN
dbo.ODLN T3 ON T2.DocEntry = T3.DocEntry left JOIN
dbo.INV1 T6 ON T6.BaseEntry = T3.DocEntry and T6.[BaseLine] = T2.[LineNum]LEFT outer JOIN
dbo.OINV T7 ON T7.DocEntry = T6.DocEntry LEFT JOIN
dbo.OITM T15 ON T15.ItemCode = T6.ItemCode LEFT JOIN
dbo.OSLP T8 on T1.SLPCode = T8.SlpCode LEFT JOIN
dbo.OHEM T9 on T1.OwnerCode = T9.empID LEFT JOIN
dbo.INV12 T10 on T7.Docentry = T10.DocEntry LEFT JOIN
dbo.OCRD T12 on T7.CardCode = T12.CardCode LEFT JOIN
NNM1 T13 ON T7.Series = T13.Series left join
OITB T14 on T14.ItmsGrpCod = T15.ItmsGrpCod
WHERE T6.BaseType = '15' and T7.Doctype = 'I' and T7.docnum = [%0]
Thanks & Regards,
Nagarajan -
Hi All,
I have a query where i want to sum the line total and break up of freight if any.
i have the query to give the break up but when i sum this, it returns Null Value.
The query is mentioned below;
T6.Linetotal and
STR((Select (PCH3.[LineTotal]*T6.[LineTotal])/(T7.[Doctotal]-T7.[TotalExpns]-T6.[VatSum]) from PCH3 where PCH3.docentry=T7.Docentry and PCH3. ExpnsCode = '1' and (T7.[Doctotal]-T7.[TotalExpns]-T6.[VatSum])<> '0.00'),19,2) as 'Freight'
I would like to get a sum of these. How to achieve that?
Thanks,
JosephHi Gordon,
The query is mentioned below;
SELECT Distinct T7.DOCNUM AS ' INVOICE No.',T7.DocDate as 'Invoice Date',T7.DocDueDate,T7.[DocCur],T5.DOCNUM as 'Excise Invoice' ,T5.[NumAtCard] as 'Excise Reference',T1.DOCNUM AS 'PO', T1.Docdate as 'PO Date',T7.CardCode as 'Vendor Code', T7.CARDNAME as 'Vendor Name',T7.NUMATCARD as 'Vendor PO No.',
T7.SHIPTOCODE as 'Ship To Code',T6.ITEMCODE,T6.DSCRIPTION,T6.Width1, cast(T15.UserText as VarChar) as 'Item Remarks', T6.QUANTITY,T6.WhsCode as 'Wh Name',T6.UnitMsr as 'UoM',T6.PRICE as 'Basic Price',T6.LineTotal as 'Basic Amount',
T10.[TransCat] as 'Purchase Type',T6.AcctCode as 'GL Code',
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=-90 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )BED,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=-60 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )Cess,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=-55 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )HeCess,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=21 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )ServiceFreight,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=5 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )ServiceTax,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=6 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )ServiceCess,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=7 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )ServiceHeCess,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=-40 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )CVD,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=17 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )CVDCess,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=18 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )CVDHeCess,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=14 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )Custom,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=15 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )CustomCess,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=16 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )CustomHeCess,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=7 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )EVAT,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=8 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )EAVAT,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=9 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )ECST,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=10 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )EACST,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=-80 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )AED,
(Select PCH2.LineTotal from PCH2 where PCH2.docentry=T7.Docentry and PCH2.linenum = T6.Linenum and PCH2. ExpnsCode = '5' ) as 'AED Reversal',
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=1 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )VAT,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=4 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )CST,
(Select distinct isnull(Sum(PCH4.taxsum),0) from PCH4 where PCH4.statype=20 and PCH4.docentry=T7.Docentry and PCH4.linenum = T6.Linenum )TCS,
STR ((Select case (T7.[Doctotal]-T7.[TotalExpns]-T6.[VatSum]) when 0 then 0 else (PCH3.[LineTotal]*T6.[LineTotal])/(T7.[Doctotal]-T7.[TotalExpns]-T6.[VatSum]) end from PCH3 where PCH3.docentry=T7.Docentry and PCH3. ExpnsCode = '1' )
,19,2) as 'Freight',
STR ((Select case (T7.[Doctotal]-T7.[TotalExpns]-T6.[VatSum]) when 0 then 0 else (PCH3.[LineTotal]*T6.[LineTotal])/(T7.[Doctotal]-T7.[TotalExpns]-T6.[VatSum]) end from PCH3 where PCH3.docentry=T7.Docentry and PCH3. ExpnsCode = '2' )
,19,2) as 'Insurance',
STR ((Select case (T7.[Doctotal]-T7.[TotalExpns]-T6.[VatSum]) when 0 then 0 else (PCH3.[LineTotal]*T6.[LineTotal])/(T7.[Doctotal]-T7.[TotalExpns]-T6.[VatSum]) end from PCH3 where PCH3.docentry=T7.Docentry and PCH3. ExpnsCode = '3' )
,19,2) as 'Packing & Forwrding',
STR ((Select case (T7.[Doctotal]-T7.[TotalExpns]-T6.[VatSum]) when 0 then 0 else (PCH3.[LineTotal]*T6.[LineTotal])/(T7.[Doctotal]-T7.[TotalExpns]-T6.[VatSum]) end from PCH3 where PCH3.docentry=T7.Docentry and PCH3. ExpnsCode = '4' )
,19,2) as 'CHA',
STR ((Select case (T7.[Doctotal]-T7.[TotalExpns]-T6.[VatSum]+ T7.WTSum) when 0 then 0 else (T7.[WTSum]*T6.[LineTotal])/(T7.[Doctotal]-T7.[TotalExpns]-T6.[VatSum]) end )
,19,2) as 'TDS',
STR ((Select case (T7.[Doctotal]-T7.[TotalExpns]-T6.[VatSum]) when 0 then 0 else (T7.[DocTotal]*T6.[LineTotal])/(T7.[Doctotal]-T7.[TotalExpns]-T6.[VatSum]) end )
,19,2) as 'Doc Total',
--T7.[WTSum] as 'TDS',T7.Doctotal as 'Document Total',
T8.[SlpName],(T9.[firstName]+' ' + T9.[lastName]) as 'Owner',
T7.Address As 'Bill To Address',T7.Address2 As 'Ship To Address',
(Select Distinct CRD1.State from CRD1 where CRD1.CardCode = T7.CardCode and CRD1.Address = T7.ShipToCode) as 'Vendor State',T3.DocNum As ' GRPO Ref #',
T3.DocDate as 'Date Of Receipt'
FROM dbo.POR1 T0 INNER JOIN
dbo.OPOR T1 ON T1.DocEntry = T0.DocEntry LEFT JOIN
dbo.PDN1 T2 ON T2.BaseEntry = T1.DocEntry LEFT JOIN
dbo.OPDN T3 ON T2.DocEntry = T3.DocEntry LEFT JOIN
dbo.IEI1 T4 ON T4.BaseEntry = T2.DocEntry LEFT JOIN
dbo.OIEI T5 ON T5.DocEntry = T4.DocEntry LEFT JOIN
dbo.PCH1 T6 ON T6.BaseEntry = T3.DocEntry LEFT JOIN
dbo.OPCH T7 ON T7.DocEntry = T6.DocEntry LEFT JOIN
dbo.OITM T15 ON T15.ItemCode = T6.ItemCode LEFT JOIN
dbo.OSLP T8 on T1.SLPCode = T8.SlpCode LEFT JOIN
dbo.OHEM T9 on T1.OwnerCode = T9.empID LEFT JOIN
dbo.PCH12 T10 on T7.Docentry = T10.DocEntry
WHERE (T4.BaseType = '20' or T6.Excisable ='N') and T7.Doctype = 'I'
Thanks,
Joseph -
Item level remark while entering Sales order
I have entered a remark at item level while entering sales order. How will the user i.e production or quality department will come to know that there is a remark at the item level.
Now one has to go and check for each and every item for remark.
Can someone help me out from this.
ThanksThe answer to your question is you use sales texts. This is done in IMG-SD-BF-Text determiantion
In customizing, you can specify which texts are to be used for internal purposes and which are to be used in the sales and distribution forms. -
Free goods determined in Delivery over Order Quantity in Sales Order Item
Hi Gurus,
I've a problem about using free goods determination.
First I created free goods master record with following information
ZG1010012060075 From 100 PC -> Free good ZG1040012060075 2 PC
Free goods Category = '2' (Exclusive)
Free goods delivery control = 'E' (Delivery proportional to quantity in main item)
Then I've created Sales Order with
Item 10 ZG1010012060075 4,000 PC.
Item 11 ZG1040012060075(Free good) has been automatically determined for 80 PC
Then I've splitted Item 10 into 4 deliveries. The result of free goods determine in each delivery are as follow:
Delivery#1)
Item10 ZG1010012060075 = 1,176 PC
Item20 ZG1040012060075 = 24 PC
Delivery#2)
Item10 ZG1010012060075 = 1,176 PC
Item20 ZG1040012060075 = 24 PC
Delivery#3)
Item10 ZG1010012060075 = 1,176 PC
Item20 ZG1040012060075 = 24 PC
Delivery#4)
Item10 ZG1010012060075 = 472 PC
item20 ZG1040012060075 = 9 PC
*Remark : Total quantity of 'ZG1040012060075'(free goods) = 92424+24 = 81 PC
(Greater than 80 PC)*
I think the system determined free goods in Delivery#4 correctly due to rounding up. But It might not be over the order quantity in Sales Order Item 11. Even though I've set the item category in delivery with Check overdelivery = 'B' (Situation rejected with an error message), the free goods are determined over order qty. BUT if I change delivery qty in delivery#4 Item20 from 9 PC -> 8 PC -> 9 PC, the error message occurred.
My point is to fix the system not determine free goods in delivery items over order quantity in sales order item.
Has anyone met this situation before? Do you have any idea about this issue?
Best Regards,
Prachya LalitnorasateDear Sai,
Thank you for your advice, but it didn't solve my problem.
I would like the system to determine free goods with proportional to main item AND In the last delivery main item delivered completely free goods must be determined equal to remaining open delivery item.
Do you have any idea about configuration/customization?
Maybe you are looking for
-
HP Officejet 6500A Printer will not connect to WPA wireless network.
An HP Network Configuartion Report from my printer states that the printer's Authentication Type is WPA-PSK. My router is WPA2 or WPA and won't connect to the printer. What is the solution to this problem?
-
Calling a Report program in Web Dynpro methods
Hi, Can any one suggest how i can call a Report created in SE38 in Webdynpro?. I tried to call it using Submit statement. But its throwing some error.
-
How to detect the iPhone Date and Time
Hi guys, I am new this plateform and I am working on an iPhone application in Objective-C. I need to detect the date and time of iphone clock in the objective-c. Please let me know if anybody knows how can I do it. Thanks, Ranjit Singh
-
Premiere 2014 does not remember and load last sequence open
i'm up to v7 of this edit, but every time i open Premiere, it loads v5, which i had closed during the previous session. all edits made to v7 are still present, but v7 is closed and v5 is open. if i don't pay attention i start making changes to v5, wh
-
ABST2 - Not run before.
Hi All, Can you provide some perspective and guidance regarding the ABST2 transaction. I started a new job last week and the company I am with has never run the ABST2 and reconciled the balances that appear on this transaction. Their fiscal year en