LONG PATH ERROR FIXER SOLVED
i have try LONG PATH ERROR FIXER
did you encounter this error
*Path too long
*Error cannot delete file: cannot read from source file or disk
*Cannot delete file: Access is denied
www-LongPathTool-com
Just download it.. it may help you guys
Hello guys, i want to suggest Long Path Tool program. Because it get rids out of long path errors. Such as, deleting, copying or renaming.
For more details pls visit longpathtool(dot)com, or just Google "Long Path Tool".
You will not waste time. It is very effective. Try it now!
Similar Messages
-
I saw some threads on having problems with long path directory errors so I thought I would suggest one that I use-
http://www.longpathtool.com/index.html
It's free which was a great feature for me!I saw some threads on having problems with long path directory errors so I thought I would suggest one that I use-
http://www.longpathtool.com/index.html
It's free which was a great feature for me! -
Hi Guys,
I was trying to write an WD application to check connector connectivity in EP, I have included these jar files in class path "com.sap.portal.ivs.connectorservice_api.jar" and "GenericConnector.jar".
The codes are like
IConnection connection = null;
IConnectorService cs = (IConnectorService) PortalRuntime.getRuntimeResources().getService(IConnectorService.KEY);
IConnectorGatewayService cgs = cs.getIConnectorGatewayService();
connection = cgs.getconnection(Alias,request)
but as soon as I write this last line getconnection() I get error which is "Compilation unit indirectly references the missing type com.sap.portal.services.api.connectorgateway.IConnectorGatewayService(typically some required class file is referencing a type outside the class path)"
and this given below error comes when I build the project.
"The project was not built since its classpath is incomplete. Cannot find the class file for com.sap.portal.services.api.connectorgateway.IConnectorGatewayService. Fix the classpath then try rebuilding this project."
can any one please tell me how can I fix this problem.
Thanks in advance
Best Regards
Yasir Noman
Message was edited by: Yasir NomanHi,
I am facing the problem of class path errors.
my error is :
*Error: Missing required library: 'C:Program Files/SAP/IDE/IDE70/eclipse/plugins/com.sap.security2.0.0/lib/com.sap.security.api.jar'.*_
And when I checkd on the program file \ lib folder there is .jar file.
And the second error is
Error: The project was not built due to classpath errors (incomplete or involved in cycle).
I tried to rebuild it and also repair it with project structure and classpath. so that it can find the missing libraries.
I checked it out in the properties of the project in Java Build path it is showing an error of build path entry is missing
Please can anyone help on this error.
I am stuck on this error for past a long time.
Please Reply asap. -
Urgent plz help me.error fixing--full marks given
Hi..this is regarding error fixing for prgm below in ecc 6.0
*& Report ZCLEAREM
REPORT ZCLEAREM.
TABLES: LFA1, LFB1, BSIK.
PARAMETERS: CLRDATE LIKE BSIK-AUGDT.
SELECT-OPTIONS: ALLOCATE FOR BSIK-ZUONR,
CLIENT FOR BSIK-MANDT.
DATA: BEGIN OF CLEARING OCCURS 3000,
LIFNR LIKE BSIK-LIFNR,
BUKRS LIKE BSIK-BUKRS,
BUDAT LIKE BSIK-BUDAT,
ZUONR LIKE BSIK-ZUONR.
DATA: END OF CLEARING.
DATA: SESSION(12) VALUE 'CLEARVENDORS'.
DATA: BEGIN OF BDC_TAB OCCURS 10.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDC_TAB.
DATA: FROM_DATE(10), TO_DATE(10), COMPANY_CODE LIKE KOST1-BUKRS.
DATA: CTR(4) TYPE N VALUE 0, HOLD_LIFNR LIKE BSIK-LIFNR.
DATA: HOLD_BUKRS LIKE BSIK-BUKRS.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = SESSION
HOLDDATE = '07/01/96'
USER = SY-UNAME
KEEP = 'X'.
CONCATENATE: CLRDATE4(2) '/' CLRDATE6(2) '/'
CLRDATE+0(4) INTO FROM_DATE.
WRITE : / 'CLEARING DATE USED IS ', CLRDATE.
START-OF-SELECTION.
GET BSIK LATE.
CHECK CLIENT.
CHECK ALLOCATE.
IF ( BSIK-QSSHB GT 0 ) AND ( BSIK-AUGBL EQ ' ' ).
MOVE-CORRESPONDING BSIK TO CLEARING.
APPEND CLEARING.
ENDIF.
END-OF-SELECTION.
WRITE : / 'SELECTED ', CTR, ' RECORDS FOR CLEARING...'.
SORT CLEARING BY LIFNR BUKRS BUDAT.
DELETE ADJACENT DUPLICATES FROM CLEARING COMPARING LIFNR BUKRS.
LOOP AT CLEARING.
WRITE : / CLEARING-LIFNR, ' ', CLEARING-BUKRS, ' CLEARED. '.
PERFORM GENERATE_BDC_DATA.
CTR = CTR + 1.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'F-44'
TABLES
DYNPROTAB = BDC_TAB.
ENDLOOP.
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE: /'end of generation of bdc session - ', SESSION, SY-MANDT,
SY-UNAME, SY-UZEIT.
WRITE: / 'WILL CLEAR A TOTAL OF ', CTR, ' RECORDS.'.
FORM GENERATE_BDC_DATA *
FORM GENERATE_BDC_DATA.
REFRESH BDC_TAB.
PERFORM DYNPRO USING:
'X' 'SAPMF05A' '0131',
'' 'RF05A-AGKON' CLEARING-LIFNR,
'' 'BKPF-BUKRS' CLEARING-BUKRS,
'' 'BKPF-BUDAT' FROM_DATE,
'' 'RF05A-XPOS1(2)' 'X',
'' 'BDC_OKCODE' '/16',
'X' 'SAPMF05A' '0731',
'' 'RF05A-SEL01(1)' CLEARING-ZUONR,
'' 'BDC_OKCODE' '/16',
LOOP AT
'X' 'SAPDF05X' '1102',
'' 'BDC_OKCODE' 'BU'.
ENDFORM.
FORM DYNPRO *
--> DYNBEGIN *
--> NAME *
--> VALUE *
FORM DYNPRO USING DYNBEGIN NAME VALUE.
IF DYNBEGIN = 'X'.
CLEAR BDC_TAB.
MOVE: NAME TO BDC_TAB-PROGRAM,
VALUE TO BDC_TAB-DYNPRO,
'X' TO BDC_TAB-DYNBEGIN.
APPEND BDC_TAB.
ELSE.
CLEAR BDC_TAB.
MOVE: NAME TO BDC_TAB-FNAM,
VALUE TO BDC_TAB-FVAL.
APPEND BDC_TAB.
ENDIF.
ENDFORM.In abap editor menu path
Goto-->Attributes
here in Logical Database name define KDF.
It will work.
regards
shiba dutta -
Files with "alien" names in directories with very long path names
Hi all,
first of all - I dont know if this is the right forum for my Question,
but I could not find any better ;-)
I have a problem with some files with "alien" names with MIXED characters from different foreign countries
(e.g. "Φέτα (τυρί) 只有沙盒或您的用户页可以用作測試ורת המבחנים בחינוך פור.txt").
Sometimes - whenn those files are exists in a directory with a very long path name,
then the windows api fails to handle these files.
For example GetFileAttributesW() returns error 2
and ntQueryDirectoryFile does not return this file in the list (etc. pp.)
I have this behaviour not with other files in those directories (e.g. "abc.txt")
and also not when those names are a little bit shorter
or the directorys name is not too long.
So I guess, there is a bug either in the API or in the file system...?!
I know that such a file name is a generic one,
but I have a situation where I have to handle any file with any name -
even in directories with very long path names...
So please no suggestions like "use shorter paths" or "convert it to a short name"....
thx in advance and Best regards,
dp.No need to call, your MSDN subscription has few free support incidents.
Chat with the rep to submit an incident.
Or find their phone number
here.
Good luck,
-- pa -
Problem with long path names?
I tried to unpack the PHP eclipse package to a folder named like the ZIP package (pdt-2.0.0GA_debugger-5.2.15.v20081217-all-in-one-win32). WinRAR stopped with an error message (something like "file name to long"). I was unable to delete the folder until I shortened the directory name. Extracting worked only with a short path name.
Did anybody experience something like this?
Windows 7 x64 - Gigabyte EP-45-DS3 (Intel P45 chip set), 4GB RAM, ATI 4670I never used the compressed folder option nor I'm sure I really understand what this feature is.I can browse "into" an archive, open it like a folder (is this the "compressed folder" feature?). I extracted the sub folder via drag and drop. The extraction was very slow, but it finished. When I tried to delete the folder, there was an error message stating that the content could not be saved to the trash because of long file names.
I repeated the test and initially created that awful long path which WinRAR was using (pdt-2.0.0GA_debugger-5.2.15.v20081217-all-in-one-win32) and extracted the archives content into that folder. This time extraction stopped with error message "0x80010135: path too long".
All if seen so far seems to indicate that there's a max_path problem with Explorer (only x64 version?) and system parts based on it (like wastebasket), not only a problem with WinRAR.
Windows 7 x64 - Gigabyte EP-45-DS3 (Intel P45 chip set), 4GB RAM, ATI 4670 -
Local Outlook in virtual environment crash when we add long path attachment
We have MS Office 2007 install localy on our Windows 2008 R2 server with App-V SP3 client. We have configured Outlook to start in the Acrobat Reader XI virtual environment for the pdf file preview. When we try to add a long path attachment in Outlook,
Outlook crash.
If we run Outlook outside the Reader virtual environment, Outlook does not crash. If i try to make a procmon to find a solution, Outlook freeze but does not crash and procmon does not return interresting information. I have try to start Outlook in another
virtual environment, it still crash.
We have made some more testing. We have discovered that Outlook crash on file path longer than 242 character. Normally, the max path in Windows is 260 character. Thats why we does not understand why we have this bug.
Any idea someone to solved this problem?The path of the file we try to add to the mail is something like this :
G:\Urbanisme\Volet Réglementation\Certificats de conformité\Conformité - Environnement_MDDELCC (LQE)\2015\LQEnv_Carré Belvédère-Gestion Élias_milieux humides_2015-02-27.gaegra\LQenv_projet de développement _ Carré Belvédère_2015-03-23_marjac.docx
I am not sure about the Q drive you talk about... I know than in App-V 4, there was Q drive, but we use App-V 5 SP3 (i forgot to tell in my original post).
Thanks for your help Rorymon! -
CS2 install - path error (unsupported chactery
I am attempting to install CS2 from a link and have run into a “bad path” error.
I own Adobe CS (first version) which has been working perfectly. However, I lost it when I sent my computer in for repair. Yesterday, a customer service rep told me Adobe is no longer willing to activate CS and I must download a free version of CS2 which does not require activation. I was given this link
http://helpx.adobe.com/x-productkb/policy-pricing/creative-suite-2-act ivation-end-life.html
https://www.adobe.com/cfusion/entitlement/index.cfm?e=cs2_downloads
I have downloaded the files. I clicked the disc 1 exe file and was asked where I wanted the program files to be placed and clicked on the default option given . . .
C:\Program Files (x86)\Adobe
However, when I choose it, a pop-up window appeared with this info . . .
“The path you selected for installation contains unsupported characters. Please choose a different folder for installation.”
When I click on Browse, I don’ t see a likely choice.
Also, the window shows that the entire suite requires 2.62 MB of available space – but the folder suggested ( C:\Program Files (x86)\Adobe) has 0MB available.
My C Drive has 119MB of total space, with 65.9MB available.
If it helps . . . CS2 is NOT shown as an installed program on the control panel. However, I opened my C Drive and see it has a folder “Creative Suite CS2.” Inside that folder are four files and a sub-folder ”Adobe Creative Suite 2.0” Inside that folder are 23 files and seven more sub-folders – each with more files and folders.My C Drive has 119MB of total space, with 65.9MB available.
Is that a typo?
Do you mean GB (Gigabytes) not MB (Megabytes)?
“The path you selected for installation contains unsupported characters. Please choose a different folder for installation.”
http://helpx.adobe.com/creative-suite/kb/error-path-contains-unsupported-characters.html
Try Solution 2 or 3. -
Incorrect Path Error - iCal Server 10.6
Hi everyone, hope you can help.
Another problem to add to the iCal server pile...
To workaround the lack of group calendar functionality, I have created a 'special' user which several staff members use to log into iCal server. This way, all staff can view and edit the same calendar data.
I configured all the Macs using iCal's automatic account creation process, and everything authenticated and worked just fine for a couple of days.
However, we then all received an iCal error advising that we check the server path to the shared calendar. It has been trying to look in here:
/principals/_uids_/<UUID of user>
I have confirmed that the UUID in the above path is consistent and correct with the 'special' user mentioned before. So... why does it work for a couple of days then fail?
I have tried removing and re-adding the account, again the error only comes up a day or two later.
*Additional Info*
I cannot find the principals folder referenced above. However, I do have the following:
Server HD/Library/CalendarServer/Documents/calendars/_uids_/1E/E2/<UUID of user>
This looked strangely similar. Using terminal, I copied the UUID folder in the above path into the _uids_ directory, and that seems to have provided a temporary fix to the problem. However, iCal is still configured to look in the principals directory, not the calendars directory that I seem to have modified.
Any thoughts?
Thanks in advance!Agreed - I also suspected it had something to do with a software update.
Still this does not fully explain the fact I cannot find the principals directory referenced in the path error. Does anybody know where this would be located on the server's HD?
At some point soon I will run a clean Snow Leopard client install back to plain 10.6 to see if I can connect to the iCal server without the error. Will also run the combo 10.6.2 updater to see if we can narrow down which update triggered the problem, if any.
If anyone could shed light on the 'principals' path it would be useful.
Oh, also, it's worth mentioning my OS X Server is not running Open Directory. All users are registered locally on the machine rather than in the LDAP domain.
Message was edited by: jimbo2k -
Time Machine Errors FIXED!!
Time Machine Errors FIXED!!
My TM is now WORKING WELL for about 4 days without a single problem!!
I had many of the Time Machine errors that others are dealing with. Here are some that I had:
Error writing to backup log. NSFileHandleOperationException:* -[NSConcreteFileHandle writeData:]: Result too large
Error: (-1401) copying ...
Error: (-43) copying ...
Error: (-50) copying ...
Error: (-8088) copying ...
Error: (22) setxattr for key:com.apple.backupd.SnapshotVolumeFSEventStoreUUID path:...
Error: (-36) Creating directory 33CDCE6F-413B-4E5B-B807-561561AAE90C
Failed to make snapshot.
Error: (5) getxattr for key:com.apple.backupd.SnapshotState path:...
Backup failed with error: 2
Volume at path /Volumes/BackUp does not appear to be the correct backup volume for this computer.
Backup failed with error: 18
Error writing to backup log. NSFileHandleOperationException:* -[NSConcreteFileHandle writeData:]: Input/output error
And other errors...
I tried the following things, but these did not help:
1. Reinstalled Leopard.
2. Reinstalled 10.5.1.
3. Reformatted my external USB drive (several times, GUID partition table).
4. Excluded large files from TM.
5. Turned off Spotlight.
6. Repaired permissions.
I found a posting somewhere (sorry, I can't find the original) that indicated there may be a problem with DiskUtility in Leopard. The post suggested that you re-partition your drive to have MORE THAN ONE PARTITION. Once that is done, you can re-partition your drive to have only one partition and that will fix the TM errors. So I used DiskUtility in Leopard to re-partition my drive to 16 partitions (16 is the max, 2 will probably work fine) with GUID (I have an Intel iMac). Once that was done, I immediately re-partitioned my drive to have only 1 partition (GUID). I started TM and it has run without a hitch since. So the problem may be with DiskUtility and NOT TM!If running Disk Utility while started up from the Mac OS X installation disc does not show the internal drive in the sidebar, it is possible that it has become faulty. However, try doing the following, if you have not done so already.
Reset PRAM
http://support.apple.com/kb/HT1379
and if that does not improve the situation, reset SMU.
http://support.apple.com/kb/HT1767
Note: That is the procedure for an iMac G5, since you are posting in the iMac G5 category. However, you profile says 10.6.2, which is not possible for an iMac G5 (PowerPC), so if you have an Intel iMac, this is the procedure
http://support.apple.com/kb/HT1543
This is basically disconnecting all cables and power from the iMac, then reconnecting following a precise procedure. When you reconnect it to power, if you had it connected to an over-crowded or old power strip (surge suppressor), try connecting it directly to a wall outlet, at least initially. You want to make sure the iMac has a reliable power connection. Initially start it up with nothing connected, except for the power cord. If it does start up normally, connect only your standard keyboard/mouse and use it that way for a while. If it is still working normally, connect one peripheral device at a time; you may want to try restarting as a test since that was your problem. If the problem recurs at some point, note what device was connected last. It may be faulty in some way that is interfering with the iMac.
If it still does not start up properly, even with nothing connected, please post back. -
Rescue and Recovery: is long path and file name OK?
I am using T61 6466 5wG. For full system backup I am using R&R 4.21, and a WD Mybook USB HDD. I did regular backup before using R&R. When a virus attack happened, I tried to recovery my computer, but then I found I only get the folders back while not the files inside. Then I tried to find something back by using the function of "restore individual files", but nothing found still. Most of the lost files have common features, either very long file name or very long folder and path name. One noticing that the size of each backup file is pretty large and reasonable.
So I am wondering what was actually happened to my backup and restore? Is it a backup failure or a restore failure? Dose the R&R have problem with very long file names or path names? If it is only a restore failure, is there any possibilty to find my old files back?thanks for the info.,you could also try long path tool. it helped me with error 1320 in Win 7.,
-
Hi guys..facing problem in error fixing.in bdc...prgm is in ECC 6.0..
prgm is
*& Report ZCJI_CNV_POSTGOODSRECEIPT_ALT1
REPORT ZCJI_CNV_POSTGOODSRECEIPT_ALT1.
*REPORT ZCJI_CNV_POSTGOODSRECEIPT_ALT NO STANDARD PAGE HEADING
LINE-SIZE 255.
*Program: ZCJI_CNV_POSTGOODSRECEIPT_ALT *
*Function: This program is used to carry out GR transaction MB0A for
CJI import logistics purchase orders. The objective is to
choose only those purchase orders for which billing has been
carried out already. Once GR document is posted, the status
of delivery document items is also updated.
DATE AUTHOR SCR # CHANGE DESCRIPTION
11/04/03 Ohm Reddy BRD # 90 Initial version
DEVK928402
02/25/04 Ohm Reddy In BDC session for posting Goods
DEVK929329 Receipt document, update document
date with system local date
(SYST-DATLO) rather than with
system date(SYST-DATUM)
06/23/04 Ohm Reddy Post GR only when sales order
DEVK931359 item SKU and PO item SKU matches
03/21/05 Alex Mutia 13829/DEVK934135 *
Phase II modifications: *
1. Added criteria in the selection screen; *
2. Modified record selection logic; *
3. Added fields in the Control Report; *
04/08/05 Alex Mutia 13829/DEVK934262 *
Fixed bug in processing MFRGR field; *
04/13/05 Alex Mutia 13829/DEVK934283 *
1.Fixed bug in assigning error record pointers*
to part-success part-error POs; *
2.Added SO and SO line item numbers in report;*
3.Compressed report to fit in 255 columns; *
04/27/05 Alex Mutia 13829/DEVK934384 *
1.Material documents retrieval changed from *
MSEG to EKBE for performance. *
2.Display empty ALV columns when no records *
were selected for processing; *
TYPE-POOLS: SLIS.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: G_LAYOUT_ALV_SPEC TYPE SLIS_LAYOUT_ALV.
*INCLUDE ZMMCJI_CNV_POSTGR_BDC2.
INCLUDE ZCJI_CNV_PGR_DATA_ALT.
$--"DEVK934135 Begin;-$
INITIALIZATION. "DEVK934135
PERFORM INITIALIZE_VENDOR. "DEVK934135
PERFORM INITIALIZE_PRICE. "DEVK934135
$--"DEVK934135 End;---$
START-OF-SELECTION.
IF P_LIFNR IS INITIAL. "DEVK934135
PERFORM INITIALIZE_VENDOR. "DEVK934135
ENDIF. "DEVK934135
IF P_NETPR IS INITIAL. "DEVK934135
PERFORM INITIALIZE_PRICE. "DEVK934135
ENDIF. "DEVK934135
PERFORM 100_SELECT_DATA.
END-OF-SELECTION.
CHECK: g_return_code IS INITIAL. "DEVK934384
IF NOT itab[] IS INITIAL. "DEVK934384
IF G_RETURN_CODE IS INITIAL AND "DEVK934384
NOT ITAB[] IS INITIAL. "DEVK934384
PERFORM 200_PROCESS_DATA.
PERFORM 300_POST_DOCUMENTS.
PERFORM 399_RETRIEVE_DOCUMENTS.
PERFORM REORG_ITAB.
PERFORM BUILD_HEADER_CATALOG.
PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].
SY_COPY = SYST.
PERFORM SHOW_TRANSACTION_ERRORS.
ELSE. "DEVK934384
PERFORM SHOW_EMPTY_LIST. "DEVK934384
ENDIF.
*& Form SELECT_DATA
FORM 100_SELECT_DATA.
PERFORM 110_SELECT_OPEN_PO_QTY.
CHECK: G_RETURN_CODE IS INITIAL.
PERFORM 120_SELECT_PO_BILLED_QTY.
ENDFORM. " 100_SELECT_DATA
*& Form 110_SELECT_OPEN_PO_QTY
FORM 110_SELECT_OPEN_PO_QTY.
$--"DEVK934135 Begin;-$
SELECT T1~VGBEL
T1~VGPOS
T1~VBELN
T1~POSNR
T1~MATNR
T1~LFIMG
T1~MFRGR
T2~LIFEX
T2~LFDAT
FROM LIPS AS T1
INNER JOIN LIKP AS T2
ON T1MANDT EQ T2MANDT AND
T1VBELN EQ T2VBELN
APPENDING CORRESPONDING FIELDS OF TABLE ITAB_LIPS
WHERE T1~MANDT EQ SY-MANDT "client is system client
AND T1~VBELN IN S_VBELN "billing doc in criteria
AND T1~VGBEL IN S_EBELN "po reference in criteria
AND T1~PSTYV EQ 'ELN' "billing item category
AND T1~WERKS EQ 'JDC1' "plant
AND T1~MFRGR NE 'C' "material freight group
AND T2~LIFNR EQ P_LIFNR. "vendor is param vendor
LOOP AT ITAB_LIPS.
ITAB_LIPS-EBELN = ITAB_LIPS-VGBEL.
ITAB_LIPS-EBELP = ITAB_LIPS-VGPOS.
ITAB_LIPS-CHARG = ITAB_LIPS-LIFEX.
ITAB_LIPS-OLDMFRGR
= ITAB_LIPS-MFRGR.
MODIFY ITAB_LIPS.
ENDLOOP.
IF ITAB_LIPS[] IS INITIAL.
MESSAGE i032(zm) WITH text-m11. "DEVK934384
G_RETURN_CODE = 'X'.
EXIT.
ENDIF.
SELECT T1~EBELN
T1~EBELP
T1~LICHA
T2~MATNR
T2~MENGE
T2~LOEKZ
T2~ELIKZ
T2~NETPR
T3~IHREZ
FROM EKET AS T1
INNER JOIN EKPO AS T2
ON T1MANDT EQ T2MANDT AND
T1EBELN EQ T2EBELN AND
T1EBELP EQ T2EBELP
INNER JOIN EKKO AS T3
ON T1MANDT EQ T3MANDT AND
T1EBELN EQ T3EBELN
APPENDING CORRESPONDING FIELDS OF TABLE ITAB
FOR ALL ENTRIES IN ITAB_LIPS
WHERE T1~MANDT EQ SY-MANDT "client is system client
AND T1~EBELN EQ ITAB_LIPS-EBELN "po# matches w/ billing
AND T3~BSART IN ('YT', 'YN'). "po type
IF ITAB[] IS INITIAL.
MESSAGE i032(zm) WITH text-m11. "DEVK934384
G_RETURN_CODE = 'X'.
EXIT.
ENDIF.
$--"DEVK934135 End;---$
delete any duplicate entries in itab table
SORT ITAB BY EBELN EBELP.
DELETE ADJACENT DUPLICATES FROM ITAB COMPARING EBELN EBELP.
LOOP AT ITAB.
ITAB-RECID = SY-TABIX.
IF NOT ITAB-IHREZ IS INITIAL.
WHILE ITAB-IHREZ+0(1) EQ ' '.
SHIFT ITAB-IHREZ.
ENDWHILE.
WHILE ITAB-IHREZ+9(1) EQ ' '.
SHIFT ITAB-IHREZ RIGHT.
ITAB-IHREZ+0(1) = '0'.
ENDWHILE.
ENDIF.
MODIFY ITAB.
ENDLOOP.
delete ITAB_LIPS entries that are not there in ITAB
LOOP AT ITAB_LIPS.
SY_COPY-TABIX = SY-TABIX.
CLEAR ITAB.
READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-EBELN
EBELP = ITAB_LIPS-EBELP BINARY SEARCH.
SY_COPY-INDEX = SY-TABIX.
IF SY-SUBRC NE 0.
DELETE ITAB_LIPS.
ELSE.
ITAB_LIPS-IHREZ = ITAB-IHREZ.
MODIFY ITAB_LIPS INDEX SY_COPY-TABIX.
ITAB-MFRGR = ITAB_LIPS-MFRGR.
ITAB-LIFEX = ITAB_LIPS-LIFEX.
ITAB-OLDMFRGR
= ITAB_LIPS-OLDMFRGR.
MODIFY ITAB INDEX SY_COPY-INDEX.
ENDIF.
ENDLOOP.
select the goods receipts documents created for the above deliveries
SELECT EBELN EBELP BELNR GJAHR
INTO TABLE ITAB_EKBE FROM EKBE
FOR ALL ENTRIES IN ITAB_LIPS
WHERE EBELN = ITAB_LIPS-EBELN
AND EBELP = ITAB_LIPS-EBELP.
select Goods receipt data from MSEG table for the above deliveries
IF NOT ITAB_EKBE[] IS INITIAL.
SELECT EBELN EBELP CHARG BWART MENGE MBLNR MJAHR ZEILE
INTO TABLE ITAB_MSEG FROM MSEG
FOR ALL ENTRIES IN ITAB_EKBE
WHERE MBLNR = ITAB_EKBE-BELNR
AND MJAHR = ITAB_EKBE-GJAHR.
ENDIF.
SORT ITAB_MSEG BY EBELN EBELP CHARG.
calculate the GR qty eligible to be posted
SORT ITAB_LIPS BY EBELN EBELP.
LOOP AT ITAB_LIPS.
ITAB_LIPS-POSTQTY = ITAB_LIPS-LFIMG.
CLEAR ITAB_MSEG.
LOOP AT ITAB_MSEG WHERE EBELN = ITAB_LIPS-EBELN
AND EBELP = ITAB_LIPS-EBELP
AND CHARG = ITAB_LIPS-CHARG.
IF ITAB_MSEG-BWART = '101'.
ITAB_LIPS-POSTQTY = ITAB_LIPS-POSTQTY - ITAB_MSEG-MENGE.
ELSEIF ITAB_MSEG-BWART = '102'.
ITAB_LIPS-POSTQTY = ITAB_LIPS-POSTQTY + ITAB_MSEG-MENGE.
ENDIF.
ENDLOOP.
MODIFY ITAB_LIPS.
CLEAR ITAB_LIPS.
ENDLOOP.
LOOP AT ITAB.
ITAB-RECID = SY-TABIX.
MODIFY ITAB.
LOOP AT ITAB_LIPS WHERE EBELN EQ ITAB-EBELN
AND EBELP EQ ITAB-EBELP.
ITAB_LIPS-RECID = ITAB-RECID.
MODIFY ITAB_LIPS.
ENDLOOP.
ENDLOOP.
free the memory of unnecessary internal tables
$--"DEVK934135 Begin;-$
CLEAR: ITAB_EKBE.
FREE: ITAB_EKBE.
$--"DEVK934135 End;---$
ENDFORM. " 110_SELECT_OPEN_PO_QTY
*& Form 120_SELECT_PO_BILLED_QTY
FORM 120_SELECT_PO_BILLED_QTY.
$--"DEVK934135 Begin;-$
SELECT T1~VBELN
T1~POSNR
T1~FKIMG
T1~AUBEL
T1~AUPOS
APPENDING CORRESPONDING FIELDS OF TABLE ITAB_VBRP
FROM VBRP AS T1
INNER JOIN VBRK AS T2
ON T1MANDT EQ T2MANDT AND
T1VBELN EQ T2VBELN
FOR ALL ENTRIES IN ITAB
WHERE T1~MANDT EQ SY-MANDT "client is system client
AND T1~VBELN EQ ITAB-IHREZ+0(10) "billing doc = your ref.
AND T2~FKSTO EQ ' '. "status NOT cancelled
Match ITAB-IHREZ <-> ITAB_VBRP-VBELN...
ITAB-LICHA <-> ITAB_VBRP-POSNR...
LOOP AT ITAB.
SY_COPY-TABIX = SY-TABIX.
Check your reference (IHREZ) field;
IF ITAB-IHREZ IS INITIAL. "your-ref blank
ITAB-ERRFA = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-E0A.
APPEND GT_ERROR.
ELSE. "your-ref NOT blank
IF ITAB-IHREZ CO ' 0123456789'. "your-ref numeric
ENDIF. "your-ref numeric
IF SY-FDPOS NE 12. "your-ref NOT numeric
ITAB-ERRFA = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-E0A.
APPEND GT_ERROR.
ELSE. "your-ref NOT numeric
Check PO line item (LICHA) field;
IF ITAB-LICHA IS INITIAL. "line item blank
ITAB-ERRFA = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-E01.
APPEND GT_ERROR.
ELSE. "line item NOT blank
IF ITAB-LICHA CO ' 0123456789'. "line item numeric
ENDIF. "line item numeric
IF SY-FDPOS NE 15. "line item NOT numeric
ITAB-ERRFA = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-E01.
APPEND GT_ERROR.
ELSE. "line item NOT numeric
SY_COPY-SUBRC = 4.
READ TABLE ITAB_VBRP
WITH KEY VBELN = ITAB-IHREZ+0(10)
POSNR = ITAB-LICHA+0(6) BINARY SEARCH.
SY_COPY-SUBRC = SY-SUBRC.
IF SY_COPY-SUBRC NE 0.
ITAB-ERRFA = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-E01.
APPEND GT_ERROR.
ELSE. "DEVK934283
ITAB-AUBEL = ITAB_VBRP-AUBEL. "DEVK934283
ITAB-AUPOS = ITAB_VBRP-AUPOS. "DEVK934283
ENDIF.
ENDIF. "line item NOT numeric
ENDIF. "line item blank
ENDIF. "your-ref NOT numeric
ENDIF. "your-ref blank
Check ID - LIFEX;
IF ITAB-LIFEX EQ ' '. "LIFEX is blank
ITAB-ERRFB = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-ERB.
APPEND GT_ERROR.
ELSE. "LIFEX is NOT blank
Check ID - MFRGR;
IF ITAB-MFRGR NE 'G'. "MFRGR NOT G
ITAB-ERRFC = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-ERC.
APPEND GT_ERROR.
ENDIF. "MFRGR NOT G
ENDIF. "LIFEX is blank
Check PO - Deletion indicator;
IF ITAB-LOEKZ NE ' '. "LOEKZ NOT blank
ITAB-ERRFD = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-ERD.
APPEND GT_ERROR.
ENDIF. "LOEKZ NOT blank
Check PO - Delivery completed flag;
IF ITAB-ELIKZ NE ' '. "ELIKZ NOT blank
ITAB-ERRFE = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-ERE.
APPEND GT_ERROR.
ENDIF. "ELIKZ NOT blank
Check PO - Net price;
IF ITAB-NETPR LT P_NETPR. "price < parameter
ITAB-ERRFF = 'X'.
GT_ERROR-RECID = ITAB-RECID.
CONCATENATE TEXT-ERF
G_NETPR
TEXT-USD
INTO GT_ERROR-ERRTX SEPARATED BY SPACE.
APPEND GT_ERROR.
ENDIF. "ELIKZ NOT blank
IF ITAB-AUPOS EQ '000000'.
CLEAR: ITAB-AUPOS.
ENDIF.
MODIFY ITAB INDEX SY_COPY-TABIX.
ENDLOOP.
LOOP AT ITAB. "DEVK934283
READ TABLE ITAB_LIPS "DEVK934283
WITH KEY VGBEL = ITAB-EBELN "DEVK934283
VGPOS = ITAB-EBELP "DEVK934283
BINARY SEARCH. "DEVK934283
SY_COPY-TABIX = SY-TABIX. "DEVK934283
IF SY-SUBRC EQ 0. "DEVK934283
ITAB_LIPS-AUBEL = ITAB-AUBEL. "DEVK934283
ITAB_LIPS-AUPOS = ITAB-AUPOS. "DEVK934283
MODIFY ITAB_LIPS INDEX SY_COPY-TABIX. "DEVK934283
ENDIF. "DEVK934283
ENDLOOP. "DEVK934283
Transfer errors from ITAB to ITAB_LIPS;
LOOP AT ITAB WHERE ERRFA EQ 'X'
OR ERRFB EQ 'X'
OR ERRFC EQ 'X'
OR ERRFD EQ 'X'
OR ERRFE EQ 'X'
OR ERRFF EQ 'X'.
READ TABLE ITAB_LIPS
WITH KEY VGBEL = ITAB-EBELN
VGPOS = ITAB-EBELP BINARY SEARCH.
SY_COPY-TABIX = SY-TABIX.
IF SY-SUBRC EQ 0.
ITAB_LIPS-ERRFA = ITAB-ERRFA.
ITAB_LIPS-ERRFB = ITAB-ERRFB.
ITAB_LIPS-ERRFC = ITAB-ERRFC.
ITAB_LIPS-ERRFD = ITAB-ERRFD.
ITAB_LIPS-ERRFE = ITAB-ERRFE.
ITAB_LIPS-ERRFF = ITAB-ERRFF.
ITAB_LIPS-NEWMFRGR = 'E'.
MODIFY ITAB_LIPS INDEX SY_COPY-TABIX.
ENDIF.
ENDLOOP.
$--"DEVK934135 End;---$
ENDFORM. " 120_SELECT_PO_BILLED_QTY
*& Form 200_PROCESS_DATA
FORM 200_PROCESS_DATA.
PERFORM 210_CONSOLIDATE_DATA.
PERFORM 220_PROCESS_DATA.
ENDFORM. " 200_PROCESS_DATA
*& Form 210_consolidate_data
FORM 210_CONSOLIDATE_DATA.
Get the PO item open qty and billed qty into one table
LOOP AT ITAB.
CLEAR ITAB_LIPS.
LOOP AT ITAB_LIPS WHERE EBELN = ITAB-EBELN
AND EBELP = ITAB-EBELP.
ITAB-IDQTY = ITAB-IDQTY + ITAB_LIPS-POSTQTY. "inbound delv qty
ENDLOOP.
CLEAR ITAB_VBRP.
LOOP AT ITAB_VBRP WHERE VBELN = ITAB-IHREZ
AND POSNR = ITAB-LICHA.
ITAB-FKIMG = ITAB-FKIMG + ITAB_VBRP-FKIMG. "PO item billed qty
ENDLOOP.
CLEAR ITAB_MSEG.
LOOP AT ITAB_MSEG WHERE EBELN = ITAB-EBELN
AND EBELP = ITAB-EBELP.
IF ITAB_MSEG-BWART = '101'.
ITAB-GRQTY = ITAB-GRQTY + ITAB_MSEG-MENGE. "PO item GR qty
ELSEIF ITAB_MSEG-BWART = '102'.
ITAB-GRQTY = ITAB-GRQTY - ITAB_MSEG-MENGE. "PO item GR qty
ELSEIF ITAB_MSEG-BWART = '122'. "DEVK934135
ITAB-GRQTY = ITAB-GRQTY - ITAB_MSEG-MENGE. "PO item GR qty
ENDIF.
ENDLOOP.
ITAB-RCVQTY = ITAB-FKIMG - ITAB-GRQTY. "qty billed but not received
calculate the quantity to be processed for which GRs are to be posted
IF ITAB-RCVQTY > 0 AND ITAB-RCVQTY > ITAB-IDQTY.
ITAB-PROCQTY = ITAB-IDQTY.
ELSEIF ITAB-RCVQTY > 0 AND ITAB-RCVQTY < ITAB-IDQTY.
ITAB-PROCQTY = ITAB-RCVQTY.
ELSEIF ITAB-RCVQTY > 0 AND ITAB-RCVQTY = ITAB-IDQTY.
ITAB-PROCQTY = ITAB-IDQTY.
ENDIF.
MODIFY ITAB.
CLEAR ITAB.
ENDLOOP.
free the memory of unnecessary internal tables
$--"DEVK934135 Begin;-$
CLEAR: ITAB_MSEG.
FREE: ITAB_MSEG.
$--"DEVK934135 End;---$
ENDFORM. " 210_consolidate_data
*& Form 220_PROCESS_DATA
FORM 220_PROCESS_DATA.
DATA: L0_FISCAL_PERIOD LIKE BAPI0002_4-FISCAL_PERIOD,
L0_FISCAL_YEAR LIKE BAPI0002_4-FISCAL_YEAR,
L0_RETURN LIKE BAPIRETURN1,
L1_FISCAL_PERIOD LIKE BAPI0002_4-FISCAL_PERIOD,
L1_FISCAL_YEAR LIKE BAPI0002_4-FISCAL_YEAR,
L1_RETURN LIKE BAPIRETURN1.
SORT ITAB_LIPS BY VGBEL VGPOS EBELN EBELP
LFDAT DESCENDING POSNR ASCENDING.
SORT ITAB BY EBELN EBELP.
Calculate the GR quanities to be posted for all inbound deliveries
LOOP AT ITAB_LIPS.
AT NEW EBELP.
CLEAR ITAB.
CLEAR V_RCVQTY.
READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-EBELN
EBELP = ITAB_LIPS-EBELP BINARY SEARCH.
V_RCVQTY = ITAB-RCVQTY.
ENDAT.
IF ITAB-PROCQTY GT 0.
IF ITAB_LIPS-POSTQTY GT ITAB-PROCQTY.
ITAB_LIPS-PROCQTY = ITAB-PROCQTY.
ITAB_LIPS-NEWMFRGR = 'B'.
ITAB-PROCQTY = 0.
ELSEIF ITAB_LIPS-POSTQTY LT ITAB-PROCQTY.
ITAB_LIPS-PROCQTY = ITAB_LIPS-POSTQTY.
ITAB_LIPS-NEWMFRGR = 'C'.
ITAB-PROCQTY = ITAB-PROCQTY - ITAB_LIPS-POSTQTY.
ELSEIF ITAB_LIPS-POSTQTY EQ ITAB-PROCQTY.
ITAB_LIPS-PROCQTY = ITAB_LIPS-POSTQTY.
ITAB_LIPS-NEWMFRGR = 'C'.
ITAB-PROCQTY = 0.
ENDIF.
Compare the Inbound delivery processing quantity with the pending
billing quantity to write it in the report log
IF ITAB_LIPS-POSTQTY LT V_RCVQTY.
ITAB_LIPS-GRIND = 'D'. "GR will be created for ID qty
V_RCVQTY = V_RCVQTY - ITAB_LIPS-POSTQTY.
ELSEIF ITAB_LIPS-POSTQTY GT V_RCVQTY.
ITAB_LIPS-GRIND = 'B'. "GR will be created for Billied qty
V_RCVQTY = 0.
ELSEIF ITAB_LIPS-POSTQTY EQ V_RCVQTY.
ITAB_LIPS-GRIND = 'S'. "Billed qty is equal to ID qty
V_RCVQTY = 0.
ENDIF.
ELSE.
Decide why this inbound delivery could not have GR quantity -
excess GR quantity or unavailable Billing quantity
IF ITAB-RCVQTY LT ITAB-IDQTY.
ITAB_LIPS-GRIND = 'C'. "GR not created - Lack of Billed qty
ENDIF.
IF ITAB-RCVQTY LT 0.
ITAB_LIPS-GRIND = 'A'. "GR not created - GR qty > Bill qty
ENDIF.
ENDIF.
MODIFY ITAB_LIPS.
CLEAR ITAB_LIPS.
ENDLOOP.
$--"DEVK934135-Begin;-$
LOOP AT ITAB_LIPS.
AT NEW EBELP.
CLEAR ITAB.
CLEAR V_RCVQTY.
READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-EBELN
EBELP = ITAB_LIPS-EBELP BINARY SEARCH.
V_RCVQTY = ITAB-FKIMG - ITAB-GRQTY.
ENDAT.
IF ITAB_LIPS-ERRFA IS INITIAL.
IF V_RCVQTY EQ 0.
ITAB_LIPS-ERRF1 = 'X'.
ITAB_LIPS-NEWMFRGR = 'E'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-R01.
APPEND GT_ERROR.
ELSEIF V_RCVQTY LT 0.
ITAB_LIPS-ERRF2 = 'X'.
ITAB_LIPS-NEWMFRGR = 'E'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-R02.
APPEND GT_ERROR.
ELSEIF V_RCVQTY GT 0.
IF V_RCVQTY EQ ITAB_LIPS-LFIMG.
ITAB_LIPS-ERRF3 = 'X'.
ITAB_LIPS-NEWMFRGR = 'C'.
ELSEIF V_RCVQTY GT ITAB_LIPS-LFIMG.
ITAB_LIPS-ERRF4 = 'X'.
ITAB_LIPS-NEWMFRGR = 'C'.
ITAB_LIPS-PROCQTY = ITAB_LIPS-LFIMG.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-R04.
APPEND GT_ERROR.
ELSEIF V_RCVQTY LT ITAB_LIPS-LFIMG.
ITAB_LIPS-ERRF5 = 'X'.
ITAB_LIPS-NEWMFRGR = 'E'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-R05.
APPEND GT_ERROR.
ENDIF.
ENDIF.
ENDIF.
CLEAR: ITAB_LIPS-BLDAT.
READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-VGBEL
EBELP = ITAB_LIPS-VGPOS BINARY SEARCH.
SELECT SINGLE FKDAT
FROM VBRK
INTO (ITAB_LIPS-BLDAT)
WHERE VBELN EQ ITAB-IHREZ+0(10).
CALL FUNCTION 'BAPI_COMPANYCODE_GET_PERIOD'
EXPORTING
COMPANYCODEID = 'C800'
POSTING_DATE = ITAB_LIPS-BLDAT
IMPORTING
FISCAL_YEAR = L0_FISCAL_YEAR
FISCAL_PERIOD = L0_FISCAL_PERIOD
RETURN = L0_RETURN.
CALL FUNCTION 'BAPI_COMPANYCODE_GET_PERIOD'
EXPORTING
COMPANYCODEID = 'C800'
POSTING_DATE = SY-DATLO
IMPORTING
FISCAL_YEAR = L1_FISCAL_YEAR
FISCAL_PERIOD = L1_FISCAL_PERIOD
RETURN = L1_RETURN.
IF L0_FISCAL_YEAR EQ L1_FISCAL_YEAR AND
L0_FISCAL_PERIOD EQ L1_FISCAL_PERIOD.
ITAB_LIPS-BUDAT = ITAB_LIPS-BLDAT.
ELSE.
ITAB_LIPS-BUDAT = SY-DATLO.
ENDIF.
MODIFY ITAB_LIPS.
CLEAR ITAB_LIPS.
ENDLOOP.
$--"DEVK934135-End;---$
collect all the inbound deliveries for which goods receipt are to be
made / material freight status are to be updated
LOOP AT ITAB_LIPS WHERE ERRFA IS INITIAL "DEVK934135
AND ERRFB IS INITIAL "DEVK934135
AND ERRFC IS INITIAL "DEVK934135
AND ERRFD IS INITIAL "DEVK934135
AND ERRFE IS INITIAL "DEVK934135
AND ERRFF IS INITIAL "DEVK934135
AND ERRF1 IS INITIAL "DEVK934135
AND ERRF2 IS INITIAL "DEVK934135
AND ERRF5 IS INITIAL. "DEVK934135
IF ITAB_LIPS-PROCQTY GT 0 AND ITAB_LIPS-LFIMG NE 0.
ITAB_LIPS_G-VBELN = ITAB_LIPS-VBELN.
ITAB_LIPS_G-BLDAT = ITAB_LIPS-BLDAT. "DEVK934135
ITAB_LIPS_G-BUDAT = ITAB_LIPS-BUDAT. "DEVK934135
ITAB_LIPS_G-IHREZ = ITAB_LIPS-IHREZ. "DEVK934135
APPEND ITAB_LIPS_G.
ENDIF.
ENDLOOP.
SORT ITAB_LIPS_G BY VBELN.
DELETE ADJACENT DUPLICATES FROM ITAB_LIPS_G.
LOOP AT ITAB_LIPS WHERE NOT ERRFA IS INITIAL "DEVK934135
OR NOT ERRFB IS INITIAL "DEVK934135
OR NOT ERRFC IS INITIAL "DEVK934135
OR NOT ERRFD IS INITIAL "DEVK934135
OR NOT ERRFE IS INITIAL "DEVK934135
OR NOT ERRFF IS INITIAL "DEVK934135
OR NOT ERRF1 IS INITIAL "DEVK934135
OR NOT ERRF2 IS INITIAL "DEVK934135
OR NOT ERRF3 IS INITIAL "DEVK934135
OR NOT ERRF4 IS INITIAL "DEVK934135
OR NOT ERRF5 IS INITIAL. "DEVK934135
ITAB_LIPS_X-VBELN = ITAB_LIPS-VBELN.
ITAB_LIPS_X-BLDAT = ITAB_LIPS-BLDAT. "DEVK934135
ITAB_LIPS_X-BUDAT = ITAB_LIPS-BUDAT. "DEVK934135
ITAB_LIPS_X-IHREZ = ITAB_LIPS-IHREZ. "DEVK934135
APPEND ITAB_LIPS_X.
ENDLOOP.
SORT ITAB_LIPS_X BY VBELN.
DELETE ADJACENT DUPLICATES FROM ITAB_LIPS_X.
LOOP AT ITAB_LIPS.
READ TABLE ITAB WITH KEY RECID = ITAB_LIPS-RECID.
SY_COPY-INDEX = SY-TABIX.
IF SY-SUBRC EQ 0.
ITAB-ERRFA = ITAB_LIPS-ERRFA.
ITAB-ERRFB = ITAB_LIPS-ERRFB.
ITAB-ERRFC = ITAB_LIPS-ERRFC.
ITAB-ERRFD = ITAB_LIPS-ERRFD.
ITAB-ERRFE = ITAB_LIPS-ERRFE.
ITAB-ERRFF = ITAB_LIPS-ERRFF.
ITAB-ERRF1 = ITAB_LIPS-ERRF1.
ITAB-ERRF2 = ITAB_LIPS-ERRF2.
ITAB-ERRF3 = ITAB_LIPS-ERRF3.
ITAB-ERRF4 = ITAB_LIPS-ERRF4.
ITAB-ERRF5 = ITAB_LIPS-ERRF5.
MODIFY ITAB INDEX SY_COPY-INDEX.
ENDIF.
ENDLOOP.
Decide the goods receipt item number for the delivery items that are
to be processed. Delivery items with zero quantities are not shown up
in MB0A transaction for GR
CLEAR V_DEL_ZERO.
IF NOT ITAB_LIPS_G[] IS INITIAL.
SELECT VBELN POSNR LFIMG
INTO CORRESPONDING FIELDS OF TABLE ITAB_LIPS_Z FROM LIPS
FOR ALL ENTRIES IN ITAB_LIPS_G
WHERE VBELN = ITAB_LIPS_G-VBELN
AND LFIMG EQ 0.
IF SY-SUBRC EQ 0.
V_DEL_ZERO = 'X'.
CLEAR ITAB_LIPS_Z.
FREE ITAB_LIPS_Z.
SELECT VBELN POSNR LFIMG
INTO CORRESPONDING FIELDS OF TABLE ITAB_LIPS_Z FROM LIPS
FOR ALL ENTRIES IN ITAB_LIPS_G
WHERE VBELN = ITAB_LIPS_G-VBELN.
SORT ITAB_LIPS_Z BY VBELN POSNR.
LOOP AT ITAB_LIPS_Z.
AT NEW VBELN.
CLEAR V_ZEILE.
ENDAT.
IF ITAB_LIPS_Z-LFIMG NE 0.
V_ZEILE = V_ZEILE + 1.
ENDIF.
ITAB_LIPS_Z-ZEILE = V_ZEILE.
MODIFY ITAB_LIPS_Z.
ENDLOOP.
ELSE.
V_DEL_ZERO = ' '.
ENDIF.
ENDIF.
SORT ITAB_LIPS_Z BY VBELN POSNR.
LOOP AT ITAB_LIPS.
IF V_DEL_ZERO = ' '.
ITAB_LIPS-ZEILE = ITAB_LIPS-POSNR.
ELSE.
CLEAR ITAB_LIPS_Z.
READ TABLE ITAB_LIPS_Z WITH KEY VBELN = ITAB_LIPS-VBELN
POSNR = ITAB_LIPS-POSNR BINARY SEARCH.
ITAB_LIPS-ZEILE = ITAB_LIPS_Z-ZEILE.
ENDIF.
MODIFY ITAB_LIPS.
ENDLOOP.
SORT ITAB_LIPS BY VBELN DESCENDING POSNR ASCENDING.
ENDFORM. " 220_PROCESS_DATA
*& Form 300_post_documents
FORM 300_POST_DOCUMENTS.
LOOP AT ITAB_LIPS_G.
PERFORM 310_POST_GR_DOC.
MODIFY ITAB_LIPS_G.
CLEAR ITAB_LIPS_G.
ENDLOOP.
CLEAR: BDCDATA, BDCDATA[].
ITAB_LIPS_R[] = ITAB_LIPS_G[].
ITAB_LIPS_G[] = ITAB_LIPS_X[].
LOOP AT ITAB_LIPS_G.
PERFORM 350_UPDATE_DELIVERY_DOC.
MODIFY ITAB_LIPS_G.
CLEAR ITAB_LIPS_G.
ENDLOOP.
PERFORM close_group.
ENDFORM. " 300_post_documents
*& Form 310_POST_GR_DOC
FORM 310_POST_GR_DOC.
PERFORM 320_POST_GR_HEADER.
LOOP AT ITAB_LIPS WHERE VBELN = ITAB_LIPS_G-VBELN
AND LFIMG NE 0
AND PROCQTY NE 0
AND ERRFA IS INITIAL
AND ERRFB IS INITIAL
AND ERRFC IS INITIAL
AND ERRFD IS INITIAL
AND ERRFE IS INITIAL
AND ERRFF IS INITIAL
AND ERRF1 IS INITIAL
AND ERRF2 IS INITIAL
AND ERRF5 IS INITIAL.
IF ITAB_LIPS-ZEILE EQ 1.
PERFORM 335_POST_GR_ITEMS.
ELSE.
PERFORM 330_POST_GR_ITEMS.
ENDIF.
ENDLOOP.
PERFORM 340_SAVE_GR_DOC.
ENDFORM. " 310_POST_GR_DOC
*& Form 320_POST_GR_HEADER
FORM 320_POST_GR_HEADER.
DATA: L_BLDAT TYPE SYDATUM,
L_BUDAT TYPE SYDATUM.
WRITE: ITAB_LIPS_G-BLDAT TO L_BLDAT,
ITAB_LIPS_G-BUDAT TO L_BUDAT.
IF ITAB_LIPS_G-IHREZ+0(10) NE '0000000000' AND
ITAB_LIPS_G-IHREZ+0(10) NE ' '.
WHILE ITAB_LIPS_G-IHREZ+0(1) EQ '0'.
SHIFT ITAB_LIPS_G-IHREZ.
ENDWHILE.
ENDIF.
perform bdc_dynpro using 'SAPMM07M' '0201'.
perform bdc_field using 'BDC_CURSOR'
'RM07M-VLIEF'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'MKPF-BKTXT'
ITAB_LIPS_G-IHREZ.
perform bdc_field using 'MKPF-BLDAT'
L_BLDAT.
perform bdc_field using 'MKPF-BUDAT'
L_BUDAT.
perform bdc_field using 'RM07M-BWARTWE'
'101'.
perform bdc_field using 'RM07M-WERKS'
perform bdc_field using 'RM07M-LGORT'
perform bdc_field using 'RM07M-XNUVO'
'X'.
perform bdc_field using 'XFULL'
perform bdc_field using 'RM07M-VLIEF'
ITAB_LIPS_G-VBELN.
perform bdc_dynpro using 'SAPMM07M' '0221'.
perform bdc_field using 'BDC_OKCODE'
'=SELN'.
perform bdc_dynpro using 'SAPMM07M' '0221'.
perform bdc_field using 'BDC_CURSOR'
'MSEG-ERFMG(01)'.
ENDFORM. " 320_POST_GR_HEADER
*& Form 330_POST_GR_ITEMS
FORM 330_POST_GR_ITEMS.
perform bdc_field using 'BDC_OKCODE'
'=KLA'.
perform bdc_dynpro using 'SAPMM07M' '1501'.
perform bdc_field using 'BDC_OKCODE'
'=OK'.
VV_ZEILE = ITAB_LIPS-ZEILE.
PERFORM BDC_FIELD USING 'RM07M-ZEILE'
VV_ZEILE.
perform bdc_dynpro using 'SAPMM07M' '0221'.
perform bdc_field using 'RM07M-XSELK(01)'
'X'.
VV_PROCQTY = ITAB_LIPS-PROCQTY.
perform bdc_field using 'MSEG-ERFMG(01)'
VV_PROCQTY.
perform bdc_field using 'MSEG-CHARG(01)'
ITAB_LIPS-CHARG.
perform bdc_field using 'MSEG-INSMK(01)'
'S'.
ENDFORM. " 330_POST_GR_ITEMS
*& Form 340_SAVE_GR_DOC
FORM 340_SAVE_GR_DOC.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
CLEAR V_FAIL_IND.
PERFORM BDC_TRANSACTION USING 'MB0A'
CHANGING V_FAIL_IND.
ENDFORM. " 340_SAVE_GR_DOC
*& Form 350_UPDATE_DELIVERY_DOC
FORM 350_UPDATE_DELIVERY_DOC.
PERFORM 360_UPDATE_DELIVERY_HEADER.
LOOP AT ITAB_LIPS WHERE VBELN = ITAB_LIPS_G-VBELN
AND ERRFA IS INITIAL
AND ERRFB IS INITIAL
AND ERRFC IS INITIAL.
AND errfd IS INITIAL
AND errfe IS INITIAL.
PERFORM 370_UPDATE_DELIVERY_ITEMS.
ENDLOOP.
PERFORM 380_SAVE_DELIVERY_DOC.
ENDFORM. " 350_UPDATE_DELIVERY_DOC
*& Form 360_UPDATE_DELIVERY_HEADER
FORM 360_UPDATE_DELIVERY_HEADER.
perform bdc_dynpro using 'SAPMV50A' '0108'.
perform bdc_field using 'BDC_CURSOR'
'LIKP-VBELN'.
perform bdc_field using 'BDC_OKCODE'
'=UELA'.
perform bdc_field using 'LIKP-VBELN'
ITAB_LIPS_G-VBELN.
ENDFORM. " 360_UPDATE_DELIVERY_HEADER
*& Form 370_UPDATE_DELIVERY_ITEMS
FORM 370_UPDATE_DELIVERY_ITEMS.
IF ITAB_LIPS-ERRFD EQ 'X' OR
ITAB_LIPS-ERRFE EQ 'X' OR
ITAB_LIPS-ERRFF EQ 'X'.
ITAB_LIPS-NEWMFRGR = 'E'.
ENDIF.
perform bdc_dynpro using 'SAPMV50A' '0270'.
perform bdc_field using 'BDC_CURSOR'
'RV50A-VERUR_LA'.
perform bdc_field using 'BDC_OKCODE'
'=POPO'.
perform bdc_dynpro using 'SAPMV50A' '0111'.
perform bdc_field using 'BDC_CURSOR'
'RV50A-POSNR'.
perform bdc_field using 'BDC_OKCODE'
'=POPO'.
VV_POSNR = ITAB_LIPS-POSNR.
perform bdc_field using 'RV50A-POSNR'
VV_POSNR.
perform bdc_dynpro using 'SAPMV50A' '0270'.
perform bdc_field using 'BDC_CURSOR'
'LIPS-POSNR(01)'.
perform bdc_field using 'BDC_OKCODE'
'=LAPD'.
perform bdc_field using 'RV50A-LIPS_SELKZ(01)'
'X'.
perform bdc_dynpro using 'SAPMV50A' '0570'.
perform bdc_field using 'BDC_CURSOR'
'LIPS-MFRGR'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.
perform bdc_field using 'LIPS-MFRGR'
ITAB_LIPS-NEWMFRGR.
ENDFORM. " 370_UPDATE_DELIVERY_ITEMS
*& Form 380_SAVE_DELIVERY_DOC
FORM 380_SAVE_DELIVERY_DOC.
perform bdc_dynpro using 'SAPMV50A' '0270'.
perform bdc_field using 'BDC_CURSOR'
'RV50A-VERUR_LA'.
perform bdc_field using 'BDC_OKCODE'
'=SICH'.
If GR document is not posted successfully, then do not update the
status of delivery document
CLEAR V_FAIL_IND.
PERFORM BDC_TRANSACTION USING 'VL32'
CHANGING V_FAIL_IND.
IF V_FAIL_IND = 'X'.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'VL32'
TABLES
DYNPROTAB = BDCDATA.
REFRESH BDCDATA.
ENDIF.
ENDFORM. " 380_SAVE_DELIVERY_DOC
Start new transaction according to parameters *
FORM BDC_TRANSACTION USING TCODE
CHANGING V_FAILURE_IND.
DATA: L_MSTRING(480).
DATA: L_SUBRC LIKE SY-SUBRC.
REFRESH MESSTAB.
CALL TRANSACTION TCODE USING BDCDATA
MODE CTUMODE
UPDATE CUPDATE
MESSAGES INTO MESSTAB.
L_SUBRC = SY-SUBRC.
CLEAR V_FAILURE_IND.
IF L_SUBRC NE 0.
V_FAILURE_IND = 'X'.
CLEAR V_IND.
LOOP AT MESSTAB.
SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA
AND ARBGB = MESSTAB-MSGID
AND MSGNR = MESSTAB-MSGNR.
IF SY-SUBRC = 0.
L_MSTRING = T100-TEXT.
IF L_MSTRING CS '&1'.
REPLACE '&1' WITH MESSTAB-MSGV1 INTO L_MSTRING.
REPLACE '&2' WITH MESSTAB-MSGV2 INTO L_MSTRING.
REPLACE '&3' WITH MESSTAB-MSGV3 INTO L_MSTRING.
REPLACE '&4' WITH MESSTAB-MSGV4 INTO L_MSTRING.
ELSE.
REPLACE '&' WITH MESSTAB-MSGV1 INTO L_MSTRING.
REPLACE '&' WITH MESSTAB-MSGV2 INTO L_MSTRING.
REPLACE '&' WITH MESSTAB-MSGV3 INTO L_MSTRING.
REPLACE '&' WITH MESSTAB-MSGV4 INTO L_MSTRING.
ENDIF.
CONDENSE L_MSTRING.
IF MESSTAB-MSGTYP = 'E'.
ERRORTAB-TCODE = TCODE.
ERRORTAB-VBELN = ITAB_LIPS_G-VBELN.
ERRORTAB-ERROR_TEXT = L_MSTRING.
APPEND ERRORTAB.
V_IND = 'X'.
ENDIF.
ELSE.
IF MESSTAB-MSGTYP = 'E'.
ERRORTAB-TCODE = TCODE.
ERRORTAB-VBELN = ITAB_LIPS_G-VBELN.
ERRORTAB-ERROR_TEXT = TEXT-U01.
APPEND ERRORTAB.
V_IND = 'X'.
ENDIF.
ENDIF.
ENDLOOP.
IF V_IND IS INITIAL.
ERRORTAB-TCODE = TCODE.
ERRORTAB-VBELN = ITAB_LIPS_G-VBELN.
ERRORTAB-ERROR_TEXT = TEXT-U01.
APPEND ERRORTAB.
ENDIF.
ELSE.
IF TCODE = 'MB0A'.
LOOP AT MESSTAB WHERE MSGTYP = 'S'
AND MSGID = 'M7'
AND MSGNR = '060'.
IF NOT MESSTAB-MSGV1 IS INITIAL.
ITAB_LIPS_G-MBLNR = MESSTAB-MSGV1.
ENDIF.
ENDLOOP.
ELSEIF TCODE = 'VL32'.
ITAB_LIPS_G-DLVIND = 'X'.
ENDIF.
ENDIF.
IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
IF E_GROUP_OPENED = ' '.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = E_GROUP
USER = E_USER
KEEP = E_KEEP
HOLDDATE = E_HDATE.
E_GROUP_OPENED = 'X'.
ENDIF.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = TCODE
TABLES
DYNPROTAB = BDCDATA.
ENDIF.
REFRESH BDCDATA.
ENDFORM.
*& Form 335_POST_GR_ITEMS
FORM 335_POST_GR_ITEMS.
VV_ZEILE = ITAB_LIPS-ZEILE.
perform bdc_field using 'RM07M-XSELK(01)'
'X'.
VV_PROCQTY = ITAB_LIPS-PROCQTY.
perform bdc_field using 'MSEG-ERFMG(01)'
VV_PROCQTY.
perform bdc_field using 'MSEG-CHARG(01)'
ITAB_LIPS-CHARG.
perform bdc_field using 'MSEG-INSMK(01)'
'S'.
ENDFORM. " 335_POST_GR_ITEMS
*& Form 399_RETRIEVE_DOCUMENTS
&----that is a warning message only ... But if you want to fix it then replace all 000 with 001 in your write statement. The position instead of 000 you have to give 001
write : /000(10)....instead of this
write : /1(10) or write : /(10) or write : /001(10) any thing you can use.
regards
shiba dutta -
Hi,
I'm leaving in Rio - Brazil. I intend to go to Orlando on September, 27 of this year! A display of my notebook MAC BOOK PRO 15" 2007 is broked.
I intend to bring with me to fix it at Apple Florida Mall store. I would like to know:
1) How long time to fix it?
2) May I upgrade my notebook OX software? I cannot loose all of my informations inside in the HD. I cannot acess those information since last year, when broked.
3) How much is to put a new display?
4) How much to upgrade my notebook software OX?
Thanks,
ArthurSome folks can't leave well enough alone, and insist on downloading all sorts of additional "stuff" that ends up making their Mac unstable.
Standard Mac OS X on properly-operating Hardware does not crash, unless you start installing too many add-ons.
You can run "just the basics" by holding down the Shift key at Startup. This does one pass of Disk Repair, then loads a minimal set of extensions, and comes up in Safe Mode. If it works OK that way, but crashes in "regular", it's the add-ons.
There ia another layer of add-on junk that can be added to Safari. If the only remaining problem is Safari crashing, those add-ons can be disabled as well. -
3-1674105521 Multiple Paths error while using Bridge Table
https://support.us.oracle.com/oip/faces/secure/srm/srview/SRViewStandalone.jspx?sr=3-1674105521
Customer Smiths Medical International Limited
Description: Multiple Paths error while using Bridge Table
1. I have a urgent customer encounterd a design issue and customer was trying to add 3 logical joins between SDI_GPOUP_MEMBERSHIP and these 3 tables (FACT_HOSPITAL_FINANCE_DTLS, FACT_HOSPITAL_BEDS_UTILZN and FACT_HOSPITAL_ATRIBUTES)
2. They found found out by adding these 3 joins, they ended with circular error.
[nQSError: 15001] Could not load navigation space for subject area GXODS.
[nQSError: 15009] Multiple paths exist to table DIM_SDI_CUSTOMER_DEMOGRAPHICS. Circular logical schemas are not supported.
In response to this circular error, the developer was able to bypass the error using aliases, but this is not desired by client.
3. They want to know how to avoid this error totally without using alias table and suggest a way to resolve the circular join(Multiple Path) error.
Appreciated if someone can give some pointer or suggestion as the customer is in stiff deadline.
Thanks
TeikThe strange thing compared to your output is that I get an error when I have table prefix in the query block:
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Master table "SYSTEM"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_IMPORT_FULL_01": system/******** DUMPFILE=TMP1.dmp LOGFILE=imp.log PARALLEL=8 QUERY=SYSADM.TMP1:"WHERE TMP1.A = 2" REMAP_TABLE=SYSADM.TMP1:TMP3 CONTENT=DATA_ONLY
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
ORA-31693: Table data object "SYSADM"."TMP3" failed to load/unload and is being skipped due to error:
ORA-38500: Unsupported operation: Oracle XML DB not present
Job "SYSTEM"."SYS_IMPORT_FULL_01" completed with 1 error(s) at Fri Dec 13 10:39:11 2013 elapsed 0 00:00:03
And if I remove it, it works:
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Master table "SYSTEM"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_IMPORT_FULL_01": system/******** DUMPFILE=TMP1.dmp LOGFILE=imp.log PARALLEL=8 QUERY=SYSADM.TMP1:"WHERE A = 2" REMAP_TABLE=SYSADM.TMP1:TMP3 CONTENT=DATA_ONLY
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
. . imported "SYSADM"."TMP3" 5.406 KB 1 out of 2 rows
Job "SYSTEM"."SYS_IMPORT_FULL_01" successfully completed at Fri Dec 13 10:36:50 2013 elapsed 0 00:00:01
Nicolas.
PS: as you can see, I'm on 11.2.0.4, I do not have 11.2.0.1 that you seem to use. -
I get Sorry but this video is no longer available error when I try to play any video on the Yahoo website. The lead in commercial play but as soon as the desired video is supposed to start the error appears. I can go to youtube, Facebook, and other sites and play videos.
Thanks your your help and concideration
RCPerehaps their server was down? Just tried it on my 10.7.3 MBP and it worked fine. Make sure your flash plugin is up to date and you should be good.
Maybe you are looking for
-
I cant download itunes in mi pc, i'm using windows 7 ultimate 32 bytes
hi im trying to download itunes in mi pc but its impossible it said there's something wrong, i just wanna synchronize my iphone SOS i've tried everything
-
Not all flash videos on websites work
Hi guys, First off all, I'm really excited because I made the switch to Apple and Leopard. Yay! But I have one issue I can't figure out. Not all flash videos on websites work, for example: www.x17online.com Sometimes it's a blank square and sometimes
-
Firefox opens maximized at random on Mac
Hello, I'm using FF 30.0 on OS X 10.9.3. I don't like having my FF fill entire screen (maximized) so I dragged the window to a specific size I like. The problem is, once in a while, FF will not respect the last window size it was set to and open maxi
-
Hi, I'm creating a website with Muse. I want some animation, so I have decided to create some buttons using Edge Animate. But when my buttons are imported into Muse, the "Hypelinks" panel disappear, so I can't say I want those button to bring me on a
-
YUI Menu Help, menu greyed out
Hi, I love the look of YUI Menu, unfortunately, Menu item 2 continues to be greyed out and not functional. I've tried reloading it and still get the same behavior. help??