0
In layman's terms, the updates your program is doing are not actually saved in the database immediately. They are just stored temporarily in memory and COMMIT is what saves the changes in DB. As you've noticed, even if we don't have COMMIT statement, the data is still saved at the end of the program. That's because the system does it for us. If you have a simple program that, say, reads a file and fills in a Z table then you don't have to add COMMIT. But, for example, if you have a program that performs multiple updates and after the first update you can only proceed with the next one after the first change have been committed to DB then, naturally, you have to add a COMMIT in between. There are other situations when it is needed.
0
Whenever we create a smart form and activate it a function module is generated based on a naming convention. Smart forms internally use Number ranges to name the function module whenever we change and activate the smart form. In the above case the FM name is /1BCDWB/SF00000359. The function module for the next new and activated Smart Form would be /1BCDWB/SF00000360. So when this smart form is transported to other systems a new function module name is generated according to the Number range in that system, then using the function module name directly in the driver program may result into dumps as the function module names is not available in the system. To handle this situation SAP developed Function module SSF_FUNCTION_MODULE_NAME to get the name of the function module for a smart form dynamically. If the form is not active, the FM raises the exception NO_FORM.